2012-03-15 7 views
1

このチュートリアルを使用:http://www.techotopia.com/index.php/An_Example_iOS_4_iPhone_Camera_Application_%28Xcode_4%29 私は写真ライブラリから画像をUIに表示しました。基本的なテキストや図形(正方形のような)をUIImage上に単に重ねることができます。これを行う簡単な方法はありますか?画像にオーバーレイを表示

ありがとうございます。

+0

オーバーレイUIImageのビュー。テキストが必要な場合は、イメージの後ろにUILabelを追加し、正しい位置にオーバーレイされるようにフレームを設定します。図形については、図形に適切なビューを使用して同じことをします。 – Joe

+0

@Joeしかし、私はコードでこれをやりますか?ありがとう。 – Objc55

+0

申し訳ありませんが、一部の人はインターフェイスビルダーを使用するだけで手に入れることができます。 [iOS向けプログラミングガイドの表示](https://developer.apple.com/library/ios/#DOCUMENTATION/WindowsViews/Conceptual/ViewPG_iPhoneOS/CreatingViews/CreatingViews.html#//apple_ref/doc/uid/TP40009503-CH5-SW6 ) – Joe

答えて

2

UIImageのみを持っていますか、UIImageViewを使用して表示していますか?

UIImageViewをお持ちの場合は、画像ビューにサブビューとしてUILabelを追加することができます。あなたのUIImageViewをmyImageView命名されたと仮定すると、

...

// Create and init the label with any rect. 
UILabel *myLabel = [[UILabel alloc] initWithFrame:myImageView.frame]; // The lable has the same size as the Image has. 
mylabel.text = @"the text"; 
[myImageView addSubview:myLabel]; 
//A subview's coordinates are within its superview's coordinates. 
mylabel.center = CGPointMake(myImageView.frame.size.width/2,myImageView.frame.size.height/2) // aligning the centers of the views 
//An alternative could be transforming the image's center into the coordinate system of its superviews. That code would look smarter but his example is imho easier to understand. 

//Setting front, size, alpha, background colour ... 
... 
+0

imageViewに画像が表示されています。そのようにしてください: 'UIImage * image = [info objectForKey:UIImagePickerControllerOriginalImage]; imageView.image = image; ' – Objc55

+0

Fine。その場合、上記のコードはうまく動作します。ご覧のように、それはImageViewの中央にLableを配置します。それを自由に変更してください。サブビュー座標系のスーパービューの左上隅に原点(0,0)があることに気をつけてください。もちろん、色や配置などの属性を変更することもできます。 –

+0

お返事ありがとうございます。残念ながら、あなたのコードでは、テキストは表示されますが、上に表示されるはずのイメージが消えて、置き換えられるので、白い背景上に黒いテキストだけが表示されます。 – Objc55

0

あなたのように、それを透明にする、のUIViewのサブクラスを作成し、このクラスのインスタンスを追加し、あなたの画像と同じサイズすることができますイメージの上にオーバーレイサブビュー。次に、イメージの上に何かを表示する場合は、透過サブビューでsetNeedsDisplayを呼び出し、このビューのdrawRectコールバックに必要なもの(色付きの四角形、テキストなど)を描画します。

は、UIViewのサブクラスを透明にするビュークラスinitWithFrameメソッドにこれを追加するには:

[ self setBackgroundColor:[ UIColor clearColor ] ]; 
関連する問題