imageView の中央にある imageview にデフォルトの画像を描画する方法 - (void)drawRect:(NSRect)rect NSImageView の上書きメソッド
1727 次
2 に答える
3
はい。それが一つの方法でした。次のコードを使用しました。
// Drawing
- (void)drawRect:(NSRect)rect
{
if([self image])
{
[[NSColor grayColor] set];
NSRectFill(rect);
//ImageView Bounds and Size
NSRect vBounds = [self bounds];
NSSize vSize = vBounds.size;
//Get the size and origin of default image set to imageView
NSRect imageRect;
imageRect.size = [[self image] size];
imageRect.origin = NSZeroPoint;
//Create a preview image
NSSize previewSize = NSMakeSize( [self image].width / 4.0, [self image].height / 4.0 );
NSImage *previewImage = [[NSImage alloc] initWithSize:previewSize];
//Get the point where the preview image needs to be draw
NSRect newRect;
newRect.origin.x = vSize.width/2-previewSize.width/2;
newRect.origin.y = vSize.height/2-previewSize.height/2;
newRect.size = [previewImage size];
//Draw preview image in imageView
[[self image] drawInRect:newRect fromRect:imageRect operation:NSCompositeSourceOver fraction:1.0];
[previewImage release];
}
}
于 2009-07-01T07:38:51.080 に答える
1
画像ビューの画像を最初にデフォルトの画像に設定し、後で変更しないのはなぜですか?
于 2009-07-01T07:16:32.560 に答える