相关疑难解决方法(0)

如何将UIImage旋转90度?

我有一个UIImageUIImageOrientationUp(纵向),我想通过90度逆时针旋转(景观).我不想用CGAffineTransform.我想要UIImage实际转移位置的像素.我正在使用一段代码(如下所示),最初是为了调整大小UIImage来执行此操作.我将目标大小设置为当前大小UIImage但是我得到一个错误:

(错误):CGBitmapContextCreate:无效数据字节/行:对于8个整数位/组件,3个组件,kCGImageAlphaPremultipliedLast,应该至少为1708.

(每当我提供SMALLER尺寸作为目标尺寸BTW时,我都不会收到错误).如何UIImage在保留当前尺寸的同时仅使用核心图形功能旋转我的90度CCW?

-(UIImage*)reverseImageByScalingToSize:(CGSize)targetSize:(UIImage*)anImage
{
    UIImage* sourceImage = anImage; 
    CGFloat targetWidth = targetSize.height;
    CGFloat targetHeight = targetSize.width;

    CGImageRef imageRef = [sourceImage CGImage];
    CGBitmapInfo bitmapInfo = CGImageGetBitmapInfo(imageRef);
    CGColorSpaceRef colorSpaceInfo = CGImageGetColorSpace(imageRef);

    if (bitmapInfo == kCGImageAlphaNone) {
        bitmapInfo = kCGImageAlphaNoneSkipLast;
    }

    CGContextRef bitmap;

    if (sourceImage.imageOrientation == UIImageOrientationUp || sourceImage.imageOrientation == UIImageOrientationDown) {
        bitmap = CGBitmapContextCreate(NULL, targetHeight, targetWidth, CGImageGetBitsPerComponent(imageRef), CGImageGetBytesPerRow(imageRef), colorSpaceInfo, bitmapInfo);

    } else {


        bitmap = CGBitmapContextCreate(NULL, targetWidth, …
Run Code Online (Sandbox Code Playgroud)

core-graphics objective-c uikit uiimage ios

174
推荐指数
11
解决办法
17万
查看次数

如何将tintColor应用于UIImage?

我有一个UIImage全黑的小符号.将UIImage在自定义设置得到UIButton的子类我.是否可以将图像应用tintColor到图像上,而不是将黑色图像改变为任何颜色tintColor

我只是想避免创建新资产.

// here I want defaultImageName (that is black) to use the tintColor (that is white)
[self setImage:[UIImage imageNamed:defaultImageName] forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

objective-c uibutton uiimage ios

51
推荐指数
4
解决办法
8万
查看次数

drawRect没有在我的UIImageView子类中调用

我已经将UIImageView子类化并尝试覆盖drawRect,因此我可以使用Quartz 2D在图像上绘制.我知道这是一个愚蠢的新手问题,但我没有看到我做错了什么.这是界面:

#import <UIKit/UIKit.h>

@interface UIImageViewCustom : UIImageView {

}
- (void)drawRect:(CGRect)rect;
@end
Run Code Online (Sandbox Code Playgroud)

并实施:

#import "UIImageViewCustom.h"

@implementation UIImageViewCustom

- (id)initWithFrame:(CGRect)frame {
    if (self = [super initWithFrame:frame]) {
    }
    return self;
}

- (void)drawRect:(CGRect)rect {
    // do stuff
}

- (void)dealloc {
    [super dealloc];
}
@end
Run Code Online (Sandbox Code Playgroud)

我设置了一个断点drawRect并且它从未命中,导致我认为它根本不会被调用.是不是应该在视图首次加载时调用?我错误地覆盖了它吗?

iphone cocoa-touch objective-c uikit

42
推荐指数
1
解决办法
2万
查看次数

为图像添加色调

我正在创建一个应用程序,用于UIImagePickerController向用户呈现一个自定义覆盖图,其中包括摄像头"视图"本身上的两个网格/图案之一.

网格本身是一个.png文件,UIImageView它被添加到叠加层中,它们非常复杂,所以我真的想避免在代码中绘制网格,即使这样我会很好地回答我的问题.

我希望能够提供各种颜色的网格.显而易见的解决方案是以不同的颜色创建更多的.png图像,但是对于每种颜色,必须有四个单独的图像(每个网格的常规图像和视网膜图像),这样可以快速累加大量资产.

我认为,理想的解决方案是让我只需创建白色/灰色的网格,然后对其应用色调以对其进行适当的着色.

那可能吗?或者我是否需要寻求替代解决方案?

objective-c uiimageview uiimagepickercontroller ios

5
推荐指数
1
解决办法
2919
查看次数

iPhone:如何在iphone中使用循环生成256色表?

我尝试在iPhone中显示256种颜色甚至更多颜色

首先,我使用photoshop生成一些简单的颜色png文件

比我将这个png添加到一个数组并将其设置为按钮图片

这就是我现在所做的

这是我如何将颜色添加到数组中的代码

imgArray = [NSArray arrayWithObjects:
                [UIImage imageNamed:@"Icon0.png"],
                [UIImage imageNamed:@"Icon1.png"],
                [UIImage imageNamed:@"Icon2.png"],
                [UIImage imageNamed:@"Icon3.png"],
                [UIImage imageNamed:@"Icon4.png"],
                [UIImage imageNamed:@"Icon5.png"],
                nil];
Run Code Online (Sandbox Code Playgroud)

比我添加到按钮图像

这是我的模拟器上的结果,但这不是一个好的解决方案

在此输入图像描述

它浪费了太多时间来添加png文件(也浪费了iphone内存......)

有谁能帮我解决这个问题???

非常感谢 : )

iphone colors objective-c ios

0
推荐指数
1
解决办法
625
查看次数

任何NSImage的棕褐色版本

我正在寻找一种简单有效的方法来为NSImage中包含的任何图标赋予特殊色调.我最初需要id有棕褐色图标但如果可以使用其他颜色则更好.

你有什么想法实现这个目标吗?

在此先感谢您的帮助,

问候,

cocoa objective-c nsimage

0
推荐指数
1
解决办法
1602
查看次数