把UIView转成UIImage,解决模糊失真问题
近期工作中,遇到一个需求,须要把一个UIView对象转成UIImage对象显示。经过网络搜索。找到例如以下答案:
|
1
2
3
4
5
6
7
8
|
-(UIImage*)convertViewToImage:(UIView*)v{ CGSize UIGraphicsBeginImageContext(s); [v.layer UIImage*image UIGraphicsEndImageContext(); returnimage;} |
执行后发现。需求基本达到,可是有个问题,转换后的UIImage显示后会变模糊。
因此推測,这种方法适用于iPhone4之前的机型。iPhone4后,因为採用了Retain高清屏,在转换时须要依据屏幕密度做个处理,又到到以下的答案:
|
1
2
3
4
5
6
7
8
|
-(UIImage*)convertViewToImage:(UIView*)v{ CGSize UIGraphicsBeginImageContextWithOptions(s,NO, [v.layer UIImage*image UIGraphicsEndImageContext(); returnimage;} |
执行后,问题依然。于是跟踪了一下contentsScale的值,发现也是1.0。这里我也不太清楚原因,本来是执行在Retain屏的设备上,为什么不是2.0。
仅仅好自己改动成以下的样子:
|
1
2
3
4
5
6
7
8
9
|
-(UIImage*)convertViewToImage:(UIView*)v{ CGSize // UIGraphicsBeginImageContextWithOptions(s,NO, [v.layer UIImage*image UIGraphicsEndImageContext(); returnimage;} |
变模糊和失真的问题攻克了。
把UIView转成UIImage,解决模糊失真问题的更多相关文章
- 如何把UIView转成UIImage,解决模糊失真问题
最近工作中,遇到一个需求,需要把一个UIView对象转成UIImage对象显示.经过网络搜索,找到如下答案: ? 1 2 3 4 5 6 7 8 -(UIImage*)convertViewToIma ...
- 将UIView转成UIImage,将UIImage转成PNG/JPG
分类: UIImageView2013-03-12 17:37 350人阅读 评论(0) 收藏 举报 //UIView -> UIImage #import “QuartzCore/Quartz ...
- pdf转换成文本解决格式不统一问题
pdf转换成文本解决格式不统一问题 懒得调OCR服务了,所以快速解决的方法是: pdf转png:https://pdf2png.com/zh/ png转统一格式pdf:adobe acrobat自带增 ...
- jpg、png格式的图片转换成webp后颜色失真的问题
今天简单的试用了一下 cweb.exe 将 jpg, png 格式的图片转换成 webp 格式. 我今天下载的是当前最新版:1.0.0 cwebp 3.jpg -q 85 -o 3.webp 发现图 ...
- 将UIview描画成虚线等.
- (UIView *)lineView{ if (!_lineView) { _lineView = [UIView new]; // _lineView.backgroundColor = UIC ...
- 解决位图失真-SetStretchBltMode()
当用以下函数加载一张位图时,当窗口发生重绘更改大小时,位图将失真: CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP2); BITMAP bmp; bitm ...
- IOS将UIView转化为UIImage
+(UIImage*)createImageFromView:(UIView*)view { //obtain scale CGFloat scale = [UIScreen mainScreen]. ...
- 利用itext将html页面转成pdf(不模糊)
1.maven项目进入依赖 <dependency> <groupId>org.xhtmlrenderer</groupId> <artifactId> ...
- ie兼容图片缩小后模糊失真(锯齿)问题
解决IE下图片缩小失真(有锯齿)的问题 首先,这不是一个新鲜玩意儿,很多大牛08年就发现了. 其次,这是个所有IE下普遍都会遇到的问题,而非只针对于IE67.(百度了一下,大半左右的文章是针对于I ...
随机推荐
- exception Access restriction: The type 'BASE64Encoder' is not API
Created by Marydon on 1.情景展示 在eclipse中切换jdk版本后,报错信息为:exception Access restriction: The type 'BASE6 ...
- 【vue.js】windows下安装vue.js
windows下搭建vue开发环境 Vue.js是一套构建用户界面的 “渐进式框架”.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,并且非常容易学习,非常 ...
- 用UNetbootin轻松把Linux操作系统装进U盘
转自http://www.hackbase.com/tech/2009-02-14/51197.html1.下载Linux发行版的iso镜像. 如Hiweed GNU/Linux:http:// ...
- Lucene使用与优化(转)
原文链接:http://blog.csdn.net/hongfu_/article/details/1933346 本文所使用的Lucene版本较低,年代久远,许多API可能已经变了. 1 lucen ...
- 【LeetCode】57. Insert Interval
Insert Interval Given a set of non-overlapping intervals, insert a new interval into the intervals ( ...
- Python学习笔记015——汉字编码
1 字符串的编码(encode)格式 GB2312 GBK GB18030 UTF-8 ASCII 其中常用的编码格式有 国标系列:GB18030(GBK(GB2312)) (window ...
- php 文件上传,下载
文件下载: html: <html> <body> <a href="1.rar">下载1.rar</a> <br /> ...
- android语音识别技术
今天从网上找了个例子实现了语音识别,个人感觉挺好玩的,就把代码贴出来与大家分享下: Android中主要通过RecognizerIntent来实现语音识别,其实代码比较简单,但是如果找不到设置,就 ...
- AVL平衡二叉搜索树原理及各项操作编程实现
C语言版 #include<stdio.h> #include "fatal.h" struct AvlNode; typedef struct AvlNode *Po ...
- [Android&Java]浅谈设计模式-代码篇:观察者模式Observer
观察者,就如同一个人,对非常多东西都感兴趣,就好像音乐.电子产品.Game.股票等,这些东西的变化都能引起爱好者们的注意并时刻关注他们.在代码中.我们也有这种一种方式来设计一些好玩的思想来.今天就写个 ...