在objectiveC我会这样做
UIImage *image = [[UIImage imageNamed:@"myImage.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
Run Code Online (Sandbox Code Playgroud)
但在Swift中,我尝试过所有这样的替代方案,但没有成功
var image : UIImage = UIImage(named:"myImage.png").imageWithRenderingMode(renderingMode: AlwaysOriginal)
Run Code Online (Sandbox Code Playgroud)
它显示错误:使用未解析的标识符'AlwaysOriginal'
我怎么做?
我需要从URL加载图像并将其设置在UIImageView中; 问题是我不知道图像的确切大小,那么我该如何正确显示图像?
我一直在使用UIGraphicsBeginImageContextWithOptions(),我注意到该方法中的最后一个字段是scalefactor.苹果文档说,如果我想将其设置为0.0,那么它将使用设备主屏幕的默认比例因子.有没有办法通过属性或方法获得默认比例因子?
我有一个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) 我正在尝试设置一个图像为条形按钮项目,我有一个像这样的图像:

分辨率30*30,但我将此图像分配给条形按钮它看起来像:

我这样分配了图像:

如果我尝试这样的方式就像为按钮创建一个IBOutlet并以编程方式设置Image形成这个问题和代码:
// Outlet for bar button
@IBOutlet weak var fbButton: UIBarButtonItem!
// Set Image for bar button
var backImg: UIImage = UIImage(named: "fb.png")!
fbButton.setBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)
Run Code Online (Sandbox Code Playgroud)
但没有任何事情发生在这,
谁能告诉我我做错了什么?
或者哪种方式可以做到这一点?
我得到了这个Base64 gif图像:
R0lGODlhDAAMALMBAP8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAACH5BAUKAAEALAAAAAAMAAwAQAQZMMhJK7iY4p3nlZ8XgmNlnibXdVqolmhcRQA7
Run Code Online (Sandbox Code Playgroud)
现在我想在我的iPhone应用程序中显示这个Base64字符串.
我可以通过使用WebView来实现这一点:
aUIWebView.scalesPageToFit = NO;
aUIWebView.opaque = NO;
aUIWebView.backgroundColor = [UIColor clearColor];
[aUIWebView loadHTMLString:
@"<html><body style=""background-color: transparent""><img src=""data:image/png;base64,R0lGODlhDAAMALMBAP8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUKAAEALAAAAAAMAAwAQAQZMMhJK7iY4p3nlZ8XgmNlnibXdVqolmhcRQA7"" /></body></html>"
baseURL:nil];
Run Code Online (Sandbox Code Playgroud)
是否可以通过使用UIImageView做同样的事情?
我需要从服务器下载的原始数据初始化图像,该服务器根据iPhone客户端的类型提供正确的图像大小.
我知道我应该设置刻度值是640×960显示屏上2.0,然而,这是一个只读属性,不能初始化期间使用initWithData时设置.
有任何想法吗?
我使用以下方法将合并后的图像保存到iPhone照片库:
UIImageWriteToSavedPhotosAlbum(viewImage, self, @selector(savedPhotoImage:didFinishSavingWithError:contextInfo:), nil);
Run Code Online (Sandbox Code Playgroud)
并使用以下方式获取回调:
- (void) savedPhotoImage:(UIImage*)image didFinishSavingWithError:(NSError *)error contextInfo: (void *)contextInfo { NSLog(@"%@", [error localizedDescription]);
NSLog(@"info: %@", contextInfo);}
Run Code Online (Sandbox Code Playgroud)
我想得到的是图像保存位置的路径,因此我可以将其添加到一个数组中,该数组将用于调用应用程序中其他位置的已保存项目列表.
当我使用选择器加载图像时,它显示路径信息.但是,当我保存创建的图像时,我无法找到保存图像路径的位置.
我有关于网络的搜索,但是大多数示例都在回调时停止,并提供一条很好的消息,说明图像已成功保存.我只想知道它的保存位置.
我理解一种方法可能是开始定义我自己的路径,但正如该方法为我做的那样,我只是希望它可以告诉我它保存到哪里.
如何以编程方式在Objective C中创建一个空白的png UIImage(比方说36x36像素)?
谢谢 :)
可能重复:
使用宽高比调整UIImage的大小?
下面这段代码正在完美地调整图像大小,但问题是它会混淆纵横比(导致图像偏斜).有什么指针吗?
// Change image resolution (auto-resize to fit)
+ (UIImage *)scaleImage:(UIImage*)image toResolution:(int)resolution {
CGImageRef imgRef = [image CGImage];
CGFloat width = CGImageGetWidth(imgRef);
CGFloat height = CGImageGetHeight(imgRef);
CGRect bounds = CGRectMake(0, 0, width, height);
//if already at the minimum resolution, return the orginal image, otherwise scale
if (width <= resolution && height <= resolution) {
return image;
} else {
CGFloat ratio = width/height;
if (ratio > 1) {
bounds.size.width = resolution;
bounds.size.height = bounds.size.width / ratio;
} else …Run Code Online (Sandbox Code Playgroud) uiimage ×10
ios ×7
iphone ×4
objective-c ×4
swift ×2
uiimageview ×2
cocoa-touch ×1
nsurl ×1
photolibrary ×1
resize ×1
save ×1
uibutton ×1