图片旋转后边缘发毛,要看转的是多少度。转90、180、270度,每个输出像素都能在原图里找到对应位置,只是换了存放顺序,画质一个像素都不变;填任意角度比如15度,新网格和原像素对不上,每个点都得按周围几个值重算,边缘就开始发软,四个角还会空出三角形。

90度整数倍旋转是坐标重排。像素矩阵整体转置,行列号都是整数,取到的就是原值,不涉及任何平均。文件大小基本不变,颜色一个数都不会动。
任意角度的坐标是小数。旋转后的画布要装下整个画面,每个输出点反算回原图时落在两个像素之间,只能插值:按距离加权平均周围几个像素。平均一次,边缘就软一层。
角度越刁钻,参与平均的像素越多。15度、30度这种最难,因为它们既不是整数倍,也不接近0度。图片旋转后边缘发毛,本质就是插值做了几次。
摆正一张歪掉的扫描件,先量倾斜角。相机和扫描仪一般会在EXIF里记方向,能靠90度解决的别用任意角度。
只差一两度、又不想重拍,可以用任意角度转,但转完要补一次轻微锐化,把被平均掉的边缘拉回来一点。
四角空出来的三角形区域,取决于「背景颜色」的设置,不填就是白底,拼版时会露出白块。
图片旋转后边缘发毛的程度,还和角度有关:15度以内偏差小,肉眼基本看不出来;超过45度就开始明显。
第一步,打开图片旋转,点「点击选择图片」上传原图。
第二步,需要转90度就点面板上那四个图标按钮:前两个是逆时针、顺时针90度,后两个是水平翻转和垂直翻转。这四个按钮不做插值。

第三步,要摆正歪图,拖「任意旋转」滑块,默认值是0,边拖边看画面里的直线是否和画布边框平行。这一步每动一次都会重算,别反复来回拖。
第四步,松手后点「确定」,这时候才真正输出像素。
第五步,点上方「保存本地」,选格式下载。
点「取消」退回上一步。别在已经转过的结果上再转一次,两次插值等于连着糊两遍,边缘会明显发虚。
原图还在就从原图重来,一次转到位。需要先裁掉边角再转的,先用图片裁剪切好,因为裁剪放在旋转之后,取景框会跟着歪。
为什么翻转不会让画面变糊?
翻转同样是坐标重排,每个像素原样落位,不涉及加权平均。
旋转后文件反而变小了?
重算过的画面边缘变软、细节变少,压缩时需要的码率也少,体积跟着降。这是画面损失的副产品,不是优化。
转90度再转回来,画质会掉吗?
不会。整数倍旋转可逆,转四次就回到原样。
图片旋转后边缘发毛,根子在角度是不是90的整数倍。要摆正就一次到位,能不插值就不插值,边角留白和画质都能保住。