图片渲染成蓝色的问题

在之前开发的过程中,遇到过这样一个小问题:给button设置一张图片,图片是灰色,美工做的图肯定没有问题 ,给button设置图片的方法也很简单,一句代码搞定,但是运行的时候却发现,图片无缘无故变成了蓝色。后来自己研究了一下发现,在给一些控件设置图片的时候会默认把图片渲染成蓝色,找到问题所在,就好结局了,解决方法如下:


1

2

3

4

5

6

UIButton *loginBtn = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 100, 50)];

loginBtn.showsTouchWhenHighlighted = YES;

UIImage *loginImg = [UIImage imageNamed:@"login"];

loginImg = [loginImg imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

[loginBtn setImage:loginImg forState:UIControlStateNormal];

[self.view addSubview:loginBtn];

- (UIImage *)imageWithRenderingMode:(UIImageRenderingMode)renderingMode

这个方法就是用来设置图片的渲染模式的


1

UIImageRenderingModeAlwaysOriginal这个枚举值是声明这张图片要按照原来的样子显示,不需要渲染成其他颜色

OK! 问题结局了。把这个小问题记录在这里 防止下次遇到又忘记怎么解决!

顺便添一句,如果你的美工没有给你button的尺寸,只是给了你button的图片,那么你可以直接取到图片的尺寸,然后把button设置为和图片同样大小的尺寸


1

2

3

4

5

6

7

8

UIButton *loginBtn = [UIButton buttonWithType:UIButtonTypeCustom];

loginBtn.showsTouchWhenHighlighted = YES;

UIImage *loginImg = [UIImage imageNamed:@"login"];

loginImg = [loginImg imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

 [loginBtn setImage:loginImg forState:UIControlStateNormal];

CGSize size = loginBtn.currentImage.size;//取到button的image的尺寸

loginBtn.frame = CGRectMake(100, 100, size.width, size.height);

[self.view addSubview:loginBtn];

时间: 2024-10-12 08:49:21

图片渲染成蓝色的问题的相关文章

iOS-对于把图片渲染成蓝色的修改方法

在之前开发的过程中,遇到过这样一个小问题:给button设置一张图片,图片是灰色,美工做的图肯定没有问题 ,给button设置图片的方法也很简单,一句代码搞定,但是运行的时候却发现,图片无缘无故变成了蓝色.后来自己研究了一下发现,在给一些控件设置图片的时候会默认把图片渲染成蓝色,找到问题所在,就好结局了,解决方法如下: UIButton *loginBtn = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 100, 50)]; login

图片拉伸方法以及修改图片渲染模式以及如何把一个控制器包装成一个导航控制器

当我们给导航控制器的左侧或右侧的item设置图片的时候,设置完成后无论图片是什么颜色,将图片添加到item上的时候会被系统渲染成蓝色,这个时候如果我们想要使用图片本来的颜色,那么就可以用到下面这个方法: 下面这个方法就是对图片进行拉伸: - (void)viewDidLoad { [super viewDidLoad]; UIImage *NormalImg = [UIImage imageNamed:@"RedButton"]; UIImage *HightImg = [UIImag

iOS 关闭图片渲染

在为Button 设置背景图片的时候, 会发现显示的效果和UI给的图片不一样, 往往是把图片显示成为蓝色, 这是因为在新版的iOS中, 会自动对图片渲染. 我们只要把图片渲染关掉就OK了 - (UIImage *)imageWithRenderingMode:(UIImageRenderingMode)renderingMode 这个方法就是用来设置图片的渲染模式的 UIImageRenderingModeAlwaysOriginal这个枚举值是声明这张图片要按照原来的样子显示,不需要渲染成其他

Xcode9学习笔记51 - 将一张普通的图片转换成灰度图片CGColorSpaceCreateDeviceGray

override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let image = UIImage(named: "img01")//从项目资源中读取一张图片 let grayedImage = self.grayImage(image: image!)//调用灰度图转换方法,将图片转换成灰度图 let

照片转成pdf 如何把jpg图片转换成pdf格式

大家不知道还记不记得,那句台词"好男人就是我,我就是xxx"曾小贤.没错就是他<爱情公寓>毫无疑问近几年比较有特点的喜剧了,而且每个人都在盼望着第五季.尤其是到第四部结尾的时候,大家都希望曾小贤能和一菲在一起,在这时候它结束了,我们都幻想着爱情公寓第五季,可是迟迟没有音信.大家依然还记得子乔的小姨妈.楼下的小黑.婉瑜.展博. 这群年轻人跟现实生活中的我们一样,过着合租群租的生活,我们没有他们那么多的欢声笑语,可能这就是电视剧和现实差距,当我们最爱的几位主演都有了自己新的工作

怎么把图片转换成pdf jpg转pdf案例

图片有各种格式,jpg.gif.png都是我们常见的,当我们想要把图片转换成pdf时,首先要注意这些文件的格式,考虑使用的方法是否可以兼容这些图片的格式,然后再查看此种方法的图片转成pdf的效果.那么,怎么把图片转换成pdf才能保证图片内容的整洁与清晰呢?想要达到这一点,其实并不是很难! 在执行图片转换成pdf操作前,我们要在电脑上下载安装好迅捷pdf转换器,然后还需要我们将要转换的图片放在同一个文件夹中,并将文件夹放在我们可以找到的位置.      第1步:在电脑桌面上用鼠标双击软件图标打开软

OprenCV学习之路一:将彩色图片转换成灰度图

//将一张彩色图片转成灰度图: //////////////////////////// #include<cv.h> #include<cvaux.h> #include<highgui.h> #include<ml.h> #include<iostream> using namespace std; using namespace cv; int main() { IplImage *src=0; src=cvLoadImage("

彩色图片渐变成灰色图片

在遇到英雄死亡需要让它变黑白的过程中参考ps中图片渐变成灰色的方式 解决思路是使用两张图片,一张彩色一张黑白,让彩色透明度随时间增长变0 网上有彩图变灰的代码如下 do { const GLchar* pszFragSource = "#ifdef GL_ES \n \ precision mediump float; \n #endif \n \ uniform sampler2D u_texture; \n varying vec2 v_texCoord; \n varying vec4 v

java将图片转换成二进制

package com.oumyye.图片; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import sun.misc.BASE64Decoder; impor