これまでの試みでは、プレーンなイメージに線を描くことができました。私自身のCGRectサイズの単純なコンテキストを作成し、その上に線を引くのと同じように。私が見るチュートリアルはすべて、作成されたx * yサイズの画像コンテキストを描画する方法です。しかし、私は犬の絵のように既に存在するイメージの文脈に線を描き、いくつかの絵を描きたいと思っています。しかし、これまでのところ私は探している結果を得ていません。これは私がテストしたコードです。イメージを割り当てずに、私は線を引くことができます。しかし、画像のインポートでは、私は画像上に希望の線を得ることはありません。画像にライン/ペイントを描くには?
let myImage = UIImage(named: "hqdefault.jpg")!
let myRGBA = RGBAImage(image: myImage)!
UIGraphicsBeginImageContextWithOptions(CGSize(width: rgbaImage.width, height: rgbaImage.height), false, 0)
let context:CGContextRef = UIGraphicsGetCurrentContext()!
CGContextMoveToPoint(context, CGFloat(100.0), CGFloat(100.0))
CGContextAddLineToPoint(context, CGFloat(150.0), CGFloat(150.0))
CGContextSetStrokeColorWithColor(context, UIColor.blackColor().CGColor)
CGContextStrokePath(context)
let image = UIGraphicsGetImageFromCurrentImageContext()
CGContextRestoreState(context)
UIGraphicsEndImageContext()
//: Return image
let view = UIImageView.init(image: image)
view.setNeedsDisplay()
これは、イメージ内に線を引いてコンテキストを返すために書いた行です。私は、インポートされた画像のコンテキストを選択することはできませんまたは私がしようとすると、描画する場合は、最後にnilを返します。私はこれまでの間違いを理解することができませんでした。画像ビューで画像に単純な線を描く方法を提案できますか?
このコードはサンプルコードの上に表示されますか? CGContextDrawImage(コンテキスト、CGRect(x:0、y:0、width:myRGBA!.width、height:myRGBA !.height)、ciImage) を使用してイメージをコンテキストに描画しようとしていますが、 ciImageのCGImageエラーへの変換に固執しました。私は上記のコードをチェックできますか? –
CGContextDrawImage(コンテキスト、CGRect(x:0、y:0、width:myRGBA!.width、height:myRGBA !.height)、cgImageMade) myImageを使用して、以下のコードであなたの提案をdrawInRectで試してからCGContextDrawImageを試しました。 CGContextMoveメソッドとCGContextAddメソッドを追加した後、私は結果を に戻しましたvar result:UIImage = 0、y:0、width:300、height:300) UIGraphicsGetImageFromCurrentImageContext(); しかし私は結果としてゼロを得た。 –
"しかし、私はCGImageエラーへのciImageの変換に立ち往生している"あなたの問題のように聞こえる。あなたはこの物語にCIImageを持ってはいけません。 CGImageに変換する必要もありません。 UIImageはグラフィックスコンテキストに直接描画することができます。 – matt