2
需要创建一个函数,该函数在给定四个点的情况下裁剪图像。通过指定四个角点(非矩形)来裁剪图像
输入:---------->图像,四个角点
输出:------->裁剪图像
我所遇到两种类型的裁剪功能到目前为止,
1)使用的一个点,身高&宽度
2),其使用一个点,高度,宽度&的角度 然而这些功能似乎没有完全解决我的问题。
为了更清楚起见,我试图在下图中描述我的意图。 Cropping an image, by specifying corner points
请出示你试过代码,并有... –
公共静态位图CropRotatedRect问题(位图源,矩形RECT,浮动角度,布尔高品质) { 位图的结果=新位图(rect.Width,RECT。高度);使用(Graphics g = Graphics.FromImage(result)) g.InterpolationMode = HighQuality? InterpolationMode.HighQualityBicubic:InterpolationMode.Default; (矩阵mat =新矩阵()) { mat.Translate(-rect.Location.X,-rect.Location.Y); mat.RotateAt(angle,rect.Location); g.Transform = mat; gDrawImage(source,new Point(0,0)); } } 返回结果; } – VAR
我已经使用了上面的代码,但是当输入区域是梯形时,函数似乎不起作用。 如果有一个函数需要4点作为输入,然后处理它,这将是所有输入区域类型的解决方案。至少,这就是我的感受 – VAR