我的代码适用于普通设备,但在视网膜设备上会产生模糊图像.
有人知道我的问题的解决方案吗?
+ (UIImage *) imageWithView:(UIView *)view
{
UIGraphicsBeginImageContext(view.bounds.size);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
}
Run Code Online (Sandbox Code Playgroud) 如何调整UIButton的图像大小?我正在设置这样的图像:
[myLikesButton setImage:[UIImage imageNamed:@"icon-heart.png"] forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
但是,这会将图像填满整个按钮,如何使图像变小?
我的应用程序是从网络下载一组图像文件,并将它们保存到本地iPhone磁盘.其中一些图像的尺寸非常大(例如,宽度大于500像素).由于iPhone甚至没有足够大的显示器来显示原始尺寸的图像,我计划将图像尺寸调整为更小的尺寸以节省空间/性能.
此外,其中一些图像是JPEG,并且它们不会保存为通常的60%质量设置.
如何使用iPhone SDK调整图片大小,如何更改JPEG图像的质量设置?
我需要裁剪一个UIImage,用设备相机拍摄,以便它适合另一个UIImage,它代表一个frame(带有圆形边框等).检查下图:
使用Aspect Fill
使用Aspect Fit
所以,我需要的是删除超出帧边界的图像多余.我尝试使用UIBezierPath,CGImageRef而我Google其他方法,但是我没有找到一个解决方案.
我开发了一个应用程序,我使用其像素处理图像,但在图像处理中需要花费很多时间.因此我想裁剪UIImage(只有图像的中间部分,即删除/裁剪图像的边界部分).我有开发代码,
- (NSInteger) processImage1: (UIImage*) image
{
CGFloat width = image.size.width;
CGFloat height = image.size.height;
struct pixel* pixels = (struct pixel*) calloc(1, image.size.width * image.size.height * sizeof(struct pixel));
if (pixels != nil)
{
// Create a new bitmap
CGContextRef context = CGBitmapContextCreate(
(void*) pixels,
image.size.width,
image.size.height,
8,
image.size.width * 4,
CGImageGetColorSpace(image.CGImage),
kCGImageAlphaPremultipliedLast
);
if (context != NULL)
{
// Draw the image in the bitmap
CGContextDrawImage(context, CGRectMake(0.0f, 0.0f, image.size.width, image.size.height), image.CGImage);
NSUInteger numberOfPixels = image.size.width * image.size.height;
NSMutableArray *numberOfPixelsArray = …Run Code Online (Sandbox Code Playgroud) 我在这里阅读了各种帖子,询问类似的问题......我尝试了各种方式,包括边界和框架等,包括以下内容:
myImage.frame = CGRectMake(0.0f, 0.0f,50.0f, 50.0f);
Run Code Online (Sandbox Code Playgroud)
和:
myImage.bounds = CGRectMake(0.0f, 0.0f,50.0f, 120.0f);
Run Code Online (Sandbox Code Playgroud)
这些都不是.
但是,我觉得有趣的是,以下代码让我移动图像但不改变宽度:
CGRect frameRect = myImage.frame;
frameRect.size.width = 50.0f;
frameRect.origin.x += 10.5f;
myImage.frame = frameRect;
Run Code Online (Sandbox Code Playgroud)
那么为什么不改变我的ImageView的宽度/高度呢?
我在这里发现了另一篇文章,基本上说我必须修改一本小代码来调整我的图像大小...这是真的吗?
比如这一个: UIImage:调整大小,然后裁剪
当然这比那简单?
我需要在使用时更改裁剪矩形的大小UIImagePickerController.在我的情况下,我需要用户选择320x385的图像,但裁剪矩形目前只允许320x320(当允许编辑时).
有任何想法吗?
我有一个UIImage比UIImageView我应用它小得多,我想知道如何缩放UIImage以适应宽度UIImageView但保持原始小图像的宽度x高度比.
这是我的代码在任何类型的缩放之前的样子
playerImageView = [[UIImageView alloc] initWithFrame:CGRectMake(10.0, 222.0, self.playerView.frame.size.width-20, 245.0)];
playerImageView.contentMode = UIViewContentModeBottom;
UIImage *placeholderImage = [UIImage imageNamed: @"placeHolderVault.png"];
[playerImageView setImage:placeholderImage];
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
我正在尝试创建一个带有一些图像的UIPickerView,但我似乎无法弄清楚如何使图像适合视图(现在它们太大而且相互重叠).
我正在尝试使用函数在绘制时调整每个图像的大小,但是在调用函数时我遇到错误,尽管程序编译并运行正常(图像没有调整大小除外).调整大小功能和初始化函数是:
-(UIImage *)resizeImage:(UIImage *)image width:(int)width height:(int)height {
NSLog(@"resizing");
CGImageRef imageRef = [image CGImage];
CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(imageRef);
//if (alphaInfo == kCGImageAlphaNone)
alphaInfo = kCGImageAlphaNoneSkipLast;
CGContextRef bitmap = CGBitmapContextCreate(NULL, width, height, CGImageGetBitsPerComponent(imageRef),
4 * width, CGImageGetColorSpace(imageRef), alphaInfo);
CGContextDrawImage(bitmap, CGRectMake(0, 0, width, height), imageRef);
CGImageRef ref = CGBitmapContextCreateImage(bitmap);
UIImage *result = [UIImage imageWithCGImage:ref];
CGContextRelease(bitmap);
CGImageRelease(ref);
return result;
}
- (void)viewDidLoad {
UIImage *h1 = [UIImage imageNamed:@"h1.png"];
h1 = [self resizeImage:h1 width:50 height: 50];
UIImageView *h1View = [[UIImageView alloc] initWithImage:h1];
NSArray *imageViewArray …Run Code Online (Sandbox Code Playgroud) 如下图所示,我想为从照片库中提取的图像实现"移动和缩放"功能.
如果您有任何想法或代码,请提供给我.

Thanx提前.
iphone ×6
objective-c ×6
ios ×4
uiimage ×4
cocoa-touch ×2
uiimageview ×2
uikit ×2
xcode ×2
image ×1
resize ×1
scale ×1
uibutton ×1