Chi*_* Dj 1 iphone objective-c
我有高度为600的图像,宽度也是600现在我想在UIImageView中用100x100以编程方式显示该图像.我尝试但是图像不像原始图像我添加图像的屏幕截图首先是100x100,第二个是200x200.第二个很好.但是第一个不像原始图像.知道我做什么请
in.h中
@interface ViewController : UIViewController
{
IBOutlet UIImageView *imageView1;
IBOutlet UIImageView *imageView2;
}
@end
Run Code Online (Sandbox Code Playgroud)
In.m
- (void)viewDidLoad
{
[super viewDidLoad];
imageView1.frame=CGRectMake(100, 50, 100, 100);
imageView2.frame=CGRectMake(50, 200, 200, 200);
imageView1.image = [UIImage imageNamed:@"Untitled-7.png"];
imageView2.image = [UIImage imageNamed:@"Untitled-7.png"];
}
Run Code Online (Sandbox Code Playgroud)

小智 18
请试试这个
UIImage *originalImage = [UIImage imageNamed:@"5.png"];
CGSize destinationSize = CGSizeMake(100, 100);
UIGraphicsBeginImageContext(destinationSize);
[originalImage drawInRect:CGRectMake(0,0,destinationSize.width,destinationSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageView *newImageView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 20, 100, 100)];
newImageView.image = newImage;
[self.view addSubview:newImageView];
Run Code Online (Sandbox Code Playgroud)
使用此方法:
- (UIImage*)imageWithImage:(UIImage*)image
scaledToSize:(CGSize)newSize;
{
UIGraphicsBeginImageContext( newSize );
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
Run Code Online (Sandbox Code Playgroud)
调用方法:
CGSize newSize = CGSizeMake(100.0,100.0);
[self imageWithImage:image scaledToSize:newSize];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13484 次 |
| 最近记录: |