【问题标题】:Custom Pattern Pencil Sketch Drawing定制图案铅笔素描图
【发布时间】:2013-09-13 07:24:16
【问题描述】:

使用Core Graphics,我想要绘画应用程序功能,在这里用户可以拥有自定义图像图案绘制功能。我按照进行的sn-p:

enter code here
  UIGraphicsBeginImageContext(self.view.frame.size);
    [drawImage.image drawInRect:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) blendMode:kCGBlendModeNormal alpha:1.0f];
  [T_BImage drawAtPoint:CGPointMake(rotX-(T_BImage.size.width)/2, rotY-(T_BImage.size.height)/2) blendMode:kCGBlendModeNormal alpha:1.0f];

drawImage.image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); 这里,是输出。 但是,当用户在屏幕上连续快速拖动时,图像不会按顺序绘制,而相同的代码在慢速拖动时可以正常工作

任何帮助将不胜感激。

【问题讨论】:

    标签: iphone ios objective-c ipad core-graphics


    【解决方案1】:

    您的代码的问题是随着拖动速度的加快,将持续调用相同的方法,这可能会导致速度变慢。如果您打算绘制图案图像,建议您尝试查看苹果示例代码here

    您必须将上述示例项目中的图案图像替换为您的自定义图案图像。看看情况如何。需要注意的一点是图案图像必须是方形的(相同的宽度和高度)

    【讨论】:

    • 谢谢纳雷什。我试过了,但它只需要我图像的左下角像素。另外,我只拍摄了方形尺寸的图像。
    • 你的图案图片尺寸是多少?
    • 我只是仔细检查了一遍。看来我错了。图像必须是 2 的幂(16、32、64 等)才能以这种方式绘制。试着把它放在这样的尺寸上,让我知道这是否适合你。
    • 仅供参考,它只是绘制 RGB 的阴影,但不考虑任何图案。请仔细检查。感谢您的重新考虑。
    • 图片大小为32x32
    【解决方案2】:

    最后,图像的绘制与用户的绘制速度成正比。这是通过计算 touches_began 和 touches_moved 委托方法之间的最小点集来实现的。即从最小(起始)CGPoint 到最大(在移动或结束之间)点的所有可能点集都是手动校准的,这些点通过单独的线程同时通过图像绘制函数。

    感谢 Brad-Larson 的出色表现。 response

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-27
      • 2011-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多