私はこの(http://shakeitphoto.com/)アプリケーションがイメージの周りに境界線を置くのが好きです。私はアプリケーションで同様のことをしたいと思いますが、それについてやってみよう。イメージの周りのフレームを達成するにはどうすればいいですか
私はその周りにフレームをラップすることができUIImageを与えられた方法上の任意のアイデア?
私はこの(http://shakeitphoto.com/)アプリケーションがイメージの周りに境界線を置くのが好きです。私はアプリケーションで同様のことをしたいと思いますが、それについてやってみよう。イメージの周りのフレームを達成するにはどうすればいいですか
私はその周りにフレームをラップすることができUIImageを与えられた方法上の任意のアイデア?
そのウェブサイトから、あなたが影との国境を望んで表示されます。 2つの妥当なオプションがあります.3つのシャドウについて気にしない場合は3です。
あなたが影を気にしない場合は、あなただけ行うことができます
#import <QuartzCore/QuartzCore.h> // this should be at the top
// inside your view layout code
myImageView.layer.borderColor = [UIColor whiteColor].CGColor
myImageView.layer.borderWidth = 5;
これはあなたのビューの内容の上に重ねビューに5ピクセル白のボーダーのインセットを、与えるようなもの(画像など)。それがあなたに与えないことは、影です。影が必要な場合は、2つのオプションがあります。
あなただけの境界線と影、そして他には何が含まれる画像を作成することができます。他のすべてをアルファ透明にするだけです。次に、表示したい画像の上にこの画像を重ねることができます(2つの画像ビューを使用するか、または2つの画像ビューから3つ目の画像を作成する)。これは正常に動作するはずですが、異なる画像サイズに拡大されません。リンクされたアプリの場合、画像サイズは常に同じであるため、これを使用することができます。
もう1つの選択肢は、画像の上に境界線と影を新しい画像で単純に描画することです。ここでこれを行いますサンプルコードのビットです - それはあなたのオリジナルと同じサイズの新しいイメージを作成しますが、白で、境界線を影付き:
- (UIImage *)borderedImage:(UIImage *)image {
// the following NO means the new image has an alpha channel
// If you know the source image is fully-opaque, you may want to set that to YES
UIGraphicsBeginImageContextWithOptions(image.size, NO, image.scale);
[image drawAtPoint:CGPointZero];
CGContextRef ctx = UIGraphicsGetCurrentContext();
const CGFloat shadowRadius = 5;
CGContextSetShadowWithColor(ctx, 0, shadowRadius, [UIColor blackColor].CGColor);
[[UIColor whiteColor] set];
CGRect rect = (CGRect){CGPointZero, image.size};
const CGFloat frameWidth = 5;
rect = CGRectInset(rect, frameWidth/2.0f, frameWidth/2.0f);
UIBezierPath *path = [UIBezierPath bezierPathWithRect:rect];
path.lineWidth = frameWidth;
[path stroke];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
// note: getting the new image this way throws away the orientation data from the original
// You could create a third image by doing something like
// newImage = [UIImage imageWithCGImage:newImage.CGImage scale:newImage.scale orientation:image.orientation]
// but I am unsure as to how orientation actually affects rendering (if at all)
UIGraphicsEndImageContext();
return newImage;
}
(注意:このコードはコンパイルされていないと含めることができますバグ)
人が何かを見たい場合は、画面をポストします。誰も質問が何であるかを見るためだけにアプリをダウンロードするつもりはない。 編集:また、既にスタックオーバーフローに関するこれに関する質問がかなりあります。それらのいくつかをチェックしてください。 –