缩小UIImage

时间:2012-08-10 18:20:21

标签: objective-c cocoa uiimageview uiimage

我在调整JPEG图片大小时遇到​​了问题。

我希望它是原始图片的大小,但它覆盖了整个屏幕。我在尝试myImageView = [[UIImageView alloc] initWithImage:[[UIImage imageNamed:@"Cube Tile.jpeg"] myImageView.contentMode = UIViewContentModeScaleAspectFit;

这就是发生的事情:

  • 我的模拟器屏幕被我的图像覆盖,但高度略小。

我还尝试添加此内容:myImageView = [[UIImageView alloc] initWithImage:[[UIImage imageNamed:@"Cube Tile.jpeg"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)]]; 这就是发生的事情:

  • 我的模拟器屏幕覆盖了我的图像的微小版本。

如果没有太多代码,是否可以这样做?

如果我有点不透明,请原谅。

  • 注1:原始图片为24 x 24像素
  • 注2:我是新开发人员,所以我只是在试验。

先谢谢Marnix。

2 个答案:

答案 0 :(得分:0)

您是否尝试过在图像视图上设置框架?如,

    float x = 0.0;
    float y = 0.0;
    [myImageView setFrame:CGRectMake(x,y,24,24)];

(并确保它不会根据.xib中的设置尝试自动调整大小)

    [myImageView setAutoresizingMask:UIViewAutoresizingNone];

答案 1 :(得分:0)

您可以更改

的值
myImageView.contentMode = UIViewContentModeScaleAspectFit;

其中一个值:

 typedef enum {
   UIViewContentModeScaleToFill,
   UIViewContentModeScaleAspectFit,
   UIViewContentModeScaleAspectFill,
   UIViewContentModeRedraw,
   UIViewContentModeCenter,
   UIViewContentModeTop,
   UIViewContentModeBottom,
   UIViewContentModeLeft,
   UIViewContentModeRight,
   UIViewContentModeTopLeft,
   UIViewContentModeTopRight,
   UIViewContentModeBottomLeft,
   UIViewContentModeBottomRight,
} UIViewContentMode;

请参阅官方文档http://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/uiview/uiview.html