[英]Rotation bmp image c++ by 90 degrees
如果您更改此行:
image[x + y * image.Width()] = origin[ x * origin.Width() + origin.Width() - y + 1];
成為:
image[x + y * image.Width()] = origin[ x * origin.Width() + origin.Width() - y - 1]; // minus 1 instead of plus 1
它將解決您的工件問題。
這是因為為了鏡像(0.. dimension-1)
范圍內的坐標,您需要應用:
<mirrored_coord> = <dimension> - <org_coord> - 1
注意:此解決方案假定 class 持有image
和origin
具有operator[]
返回對單個像素 object(可能是 3 通道對象)的引用。 還假設您的圖像沒有填充,即元素中的步幅等於寬度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.