图像仿射变换
对图像应用自定义 2x2 仿射矩阵,一步完成缩放、倾斜、镜像或旋转。输入系数 a、b、c 和 d、可选的输出偏移量、插值方法,以及用于填充未覆盖区域的背景颜色。工具会根据变换后的角点计算新画布。适合需要精确控制图像线性变换的开发者、设计师和学生。
常见问题
什么是仿射变换?
仿射变换会将每个像素位置 (x, y) 映射到新位置(a 乘以 x 加 b 乘以 y,c 乘以 x 加 d 乘以 y)。它可以缩放、倾斜、镜像和旋转图像,同时保持直线仍为直线、平行线仍相互平行。
四个矩阵值分别代表什么?
a 和 d 的值分别控制图像的水平和垂直缩放,b 和 c 则控制倾斜。单位矩阵 a=1, b=0, c=0, d=1 会保持图像不变。每个值可设为 -10 到 10,支持小数。
如何用矩阵旋转图像?
要按某个角度旋转,请将该角度的 cos 设为 a 和 d,将 -sin 设为 b,将 sin 设为 c。旋转 30 度时,参数为 a=0.866, b=-0.5, c=0.5, d=0.866。画布会扩展以容纳旋转后的角点。
如何镜像图像?
将 a 设为 -1 可水平镜像,将 d 设为 -1 可垂直镜像,其余值保持为单位矩阵对应的值。两者都设为 -1 会使图像上下颠倒,相当于旋转 180 度。
输出偏移量有什么作用?
偏移量可将变换后的图像在输出画布中沿各个方向移动最多 1000 像素。画布大小保持不变,因此移动后的图像一侧会被裁切,另一侧则会露出背景。
应该选择哪种插值方式?
双三次插值适合大多数照片。最近邻插值可为像素艺术和屏幕截图保留清晰的像素边缘;双线性插值效果更柔和;局部有界双三次、Nohalo 和 VSQBS 可减少放大时的光晕。只有像素落在网格位置之间时,插值选择才会产生影响。
为什么矩阵会被拒绝?
如果矩阵的行列式(a 乘以 d 减去 b 乘以 c)接近零,图像就会被压扁成一条线,因此工具会拒绝该矩阵。宽度或高度超过 6000 像素的结果也会被拒绝;请减小缩放值,使结果保持在此范围内。
图像以外的区域会填充什么?
倾斜或旋转会在新画布上留下空白角落。默认情况下,这些区域是透明的,结果会保存为带 alpha 通道的 PNG。也可以输入类似 #000000 的十六进制颜色来填充这些区域。
可以上传哪些文件格式?
支持 JPEG、PNG、GIF、WebP、TIFF 和 AVIF 图像,最大 5 MB。动画文件仅使用第一帧。单边尺寸超过 4000 像素的图像会先缩放至 4000 像素再进行变换。
这和倾斜工具有什么区别?
图像倾斜工具会根据单个角度为你生成倾斜矩阵。此工具则开放全部四个系数,因此你可以一次组合缩放、倾斜和镜像,也可以复现代码或 CSS 矩阵值中的变换。