processing非CENTER模式下旋转图片
时间: 2023-10-05 21:07:35 浏览: 27
在Processing中,如果要在非CENTER模式下旋转图片,可以使用`translate()`和`rotate()`函数来实现。
首先,使用`PImage`函数加载图片:
```
PImage img;
void setup() {
size(400, 400);
img = loadImage("image.jpg");
}
```
然后,在`draw()`函数中设置图片的旋转角度和位置:
```
void draw() {
background(255);
// 设置图片中心点坐标
float centerX = img.width/2;
float centerY = img.height/2;
// 将坐标系移动到图片中心点
translate(centerX, centerY);
// 设置旋转角度
float angle = radians(30);
rotate(angle);
// 将坐标系移回原来位置
translate(-centerX, -centerY);
// 在指定位置绘制图片
image(img, 100, 100);
}
```
在上面的代码中,首先通过`translate()`函数将坐标系移动到图片的中心点,然后通过`rotate()`函数设置旋转角度,最后再将坐标系移回原来的位置。这样就可以在非CENTER模式下旋转图片了。
相关问题
Processing 如何调节图片的旋转中心
在 Processing 中,可以使用 `translate()` 函数来调节图片的旋转中心。具体步骤如下:
1. 将旋转中心移动到图片的左上角,即将图片的左上角移动到坐标原点,可以使用 `translate(-img.width/2, -img.height/2)` 函数来实现。
2. 进行旋转操作,可以使用 `rotate(angle)` 函数来实现,其中 `angle` 为旋转角度。
3. 将旋转中心移回到原来的位置,即将坐标原点移回到图片的左上角,可以使用 `translate(img.width/2, img.height/2)` 函数来实现。
以下是一个示例代码,演示如何将图片绕中心点旋转45度:
```processing
PImage img;
void setup() {
size(400, 400);
img = loadImage("image.jpg");
}
void draw() {
background(255);
translate(width/2, height/2);
rotate(radians(45));
image(img, -img.width/2, -img.height/2);
}
```
在上述代码中,我们首先将旋转中心移动到画布的中心,然后进行45度的旋转操作,最后将画布移回到原来的位置,并显示图片。
在Processing的Python模式下 写出中文字
可以使用 Processing 的 Python 模式下的 `createFont()` 方法创建一个支持中文字符的字体文件,然后使用 `textFont()` 方法指定使用该字体,最后使用 `text()` 方法将需要显示的中文字符渲染到屏幕上,示例代码如下:
```python
font = createFont("宋体", 48, True)
textFont(font)
def draw():
background(255)
fill(0)
textSize(48)
text("你好,世界!", 50, 50)
```
其中,`createFont()` 方法的第一个参数指定字体名称,第二个参数指定字体大小,第三个参数指定是否启用粗体。在上述示例中,我们指定使用宋体字体,大小为 48,启用粗体。`textSize()` 方法用于指定文本大小,可以不同于字体大小。`text()` 方法的第一个参数为要渲染的文本内容,第二个、三个参数分别指定文本渲染起始位置的 x 坐标和 y 坐标。