Tag: 绘制

绘制文本并添加到UIImage iOS 5/6

我有一个文本框,我想要的文字被添加到UIImage。 我怎样才能绘制NSString到UIImage? 我搜查了一下,发现了很多例子,但其中没有一个是可行的。 Xcode只是给了我很多错误。 简单地说,我想绘制一个NSString的UIimage。 UIImage应该与预定义的UIImageView大小相同,并放置在中央。 有任何想法吗?

使用SceneKit行原始types的笔触宽度

我正在尝试使用场景工具包复制此多维数据集图像形状(来自原始创build者的许可)。 到目前为止,我有线和顶点的绘图代码。 我不能使用图像,因为背景必须是透明的。 我正在尝试解决的具体问题是如何编辑SCNGeometryPrimitiveType.Line元素的描边宽度。 我创build线条的基本方式是这样的: private func squareVertices(length: Float) -> [SCNVector3] { let m = length/Float(2) let topLeft = SCNVector3Make(-mq, m+q, m+q) let topRight = SCNVector3Make( m+q, m+q, m+q) let bottomLeft = SCNVector3Make(-mq, -mq, m+q) let bottomRight = SCNVector3Make( m+q, -mq, m+q) return [topLeft, topRight, bottomLeft, bottomRight] } private func cubeFace() -> SCNGeometry { let […]

在Swift中去除绘制UIBezierPath平滑线的滞后延迟

下面的代码通过覆盖触摸绘制平滑的曲线,但是有明显的滞后或延迟。 该代码使用addCurveToPoint并在每触摸4个点后调用setNeedsDisplay ,由于graphics跟不上手指的移动,导致出现跳动的外观。 为了消除滞后或潜在的等待时间,可以使用addQuadCurveToPoint和addLineToPoint临时填充触摸点1,2,3(触及点4)。 在代码中如何实际实现,通过在显示最终的Curved行之前使用临时的Line和QuadCurved行来消除感知的滞后? 如果下面的类被附加到一个UIView (例如viewOne或self ),那么在touchesEnded之后,如何将绘图的副本复制到另一个UIView (例如viewTwo) touchesEnded ? // ViewController.swift import UIKit class drawSmoothCurvedLinesWithLagging: UIView { let path=UIBezierPath() var incrementalImage:UIImage? var points = [CGPoint?](count: 5, repeatedValue: nil) var counter:Int? var strokeColor:UIColor? required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } override func drawRect(rect: CGRect) { autoreleasepool { incrementalImage?.drawInRect(rect) strokeColor = UIColor.blueColor() strokeColor?.setStroke() path.lineWidth […]

如何在iPhone上绘制透明的笔画(或者任何清晰的图像部分)

我有一个小应用程序,允许用户用手指在屏幕上绘制。 我有一个用户绘制的UIImageView ,通过创build一个CGContextRef和各种CG draw函数。 我主要用CGContextAddLineToPoint函数绘制笔画/线条 现在我的问题是这样的:用户可以绘制各种颜色的线条。 我想给他能够使用"rubber"工具来删除到目前为止绘制的图像的一部分,用手指。 我最初是通过使用白色的笔触(使用CGContextSetRGBStrokeColor函数设置)做到这一点,但它没有解决…因为我后来发现UIImageView上的UIImage实际上有一个透明的背景,而不是白色的…所以我最终会得到一个白色的透明图像! 无论如何设置一个"transparent"笔触颜色,或者有什么其他的方式来清除用户的手指下CGContextRef的内容,当他移动它? 谢谢

绘制类绘制直线而不是曲线

我有下面的代码,使用UIBezierPath绘制线条。 代码使用addCurveToPoint ,它应该使用三次bezierpath绘制曲线,但代码的最终结果是绘制连接的直线,但addLineToPoint没有被使用。 可能会发生什么,为什么不是绘制曲线的代码? import UIKit class DrawingView: UIView, UITextFieldDelegate { // Modifiable values within the code let lineWidth : CGFloat = 2.0 let lineColor = UIColor.redColor() let lineColorAlpha : CGFloat = 0.4 let shouldAllowUserChangeLineWidth = true let maximumUndoRedoChances = 10 var path = UIBezierPath() var previousImages : [UIImage] = [UIImage]() // Represents current image […]