有人可以告诉我如何只旋转部分图像:
如何查找此图像的坐标/中心:
我可以使用此
旋转所有图片from PIL import Image
def rotate_image():
img = Image.open("nime1.png")
img.rotate(45).save("plus45.png")
img.rotate(-45).save("minus45.png")
img.rotate(90).save("90.png")
img.transpose(Image.ROTATE_90).save("90_trans.png")
img.rotate(180).save("180.png")
if __name__ == '__main__':
rotate_image()
答案 0 :(得分:1)
您可以裁剪图片的某个区域作为新变量。在这种情况下,我从原始图像中裁剪出一个120x120像素的盒子。它旋转90度,然后粘贴在原件上。
import net.time4j.Month;
import net.time4j.range.CalendarMonth;
import net.time4j.format.expert.ChronoFormatter;
import net.time4j.format.expert.PatternType;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import java.text.ParseException;
import java.util.Locale;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
@RunWith(JUnit4.class)
public class CalendarMonthTest {
@Test
public void parse2() throws ParseException {
assertThat(
ChronoFormatter.ofPattern(
"yyyyMM'00'",
PatternType.CLDR,
Locale.ROOT,
CalendarMonth.chronology()
).parse("20150100"),
is(CalendarMonth.of(2015, Month.JANUARY)));
}
}
所以我想了一下这个并且制作了一个在旋转之前将圆形蒙版应用于裁剪图像的功能。这允许任意角度而没有奇怪的效果。
SimpleDateFormat
答案 1 :(得分:0)
你可以这样解决这个问题。假设您有img = Image.open("nime1.png")
要查找中心坐标,可以将宽度和高度除以2:)