我必须编写一个应该在平面上显示形状的绘图工具。这些形状可以是任意形状,如椭圆形或立方体,也可以是在平面上绘制的一些图形。
我需要做的是,使用位于这些形状周围的标记点,能够通过移动标记来转换它们。因此,假设我有四个标记位于顶部,底部,左侧和右侧,我应该能够通过移动左右标记来水平拉伸形状。
我无法使用形状的几何属性(例如更改椭圆的半径),因为我必须能够在任意形状(如图片)上执行此操作。
我在图像处理算法方面没有太多经验,任何人都可以给我一些从哪里开始的提示?最好的做法是做好它甚至是一个好的算法来做到这一点?
我正在为iOS平台开发。
答案 0 :(得分:0)
答案 1 :(得分:0)
以下是您如何在UIImage上绘图
UIGraphicsBeginImageContext(CGSizeMake(width, height));
// do your drawing operations
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
以下是如何缩放图像
UIGraphicsBeginImageContext(CGSizeMake(scaledWidth, scaledHeight));
[image drawInRect:CGRectMake(0,0, scaledWidth, scaledHeight)];
UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
您不必分两步完成 - 您可以只绘制每个缩放的项目。这对于非图像绘制会更好。
如果需要绘制CGContextRef,可以使用此
CGContextRef context = [[NSGraphicsContext currentContext] graphicsPort];