- 浏览: 408810 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (325)
- 神经网络 (1)
- javascript (11)
- 数据结构 (2)
- 计算机图形学 (11)
- 模式识别 (1)
- 前端开发 (14)
- 机器学习 (11)
- ios开发 (50)
- Python (9)
- HTML5 (4)
- 计算机视觉 (9)
- 数字图像处理 (7)
- 架构设计 (19)
- 数据库设计 (9)
- 算法设计 (59)
- Java (37)
- 其他 (3)
- 游戏开发 (5)
- c++ (17)
- Linux (3)
- TCP/IP (2)
- Flex (41)
- 健康 (6)
- AI (2)
- 工具 (1)
- 数据挖掘 (1)
- 性能优化 (6)
- 综合 (2)
- 网络通信 (12)
- Android (2)
- UML (3)
- 软件设计 (11)
- 编程经验 (7)
- J2EE (1)
- 多媒体技术 (3)
- 数学 (7)
- php (4)
- 设计 (1)
- CS (2)
- 计算机理论 (1)
- 信息安全 (1)
最新评论
-
ahead_zhan:
good good good
flex3控件_ModuleLoader -
lonerzf:
好样的。非常感谢楼主
OpenCV视频教程整理 -
lonerzf:
好样的。谢谢~
OpenCV视频教程整理 -
coding1688:
博主说的不错,我在实现瀑布流布局时也用的masonry插件,有 ...
Javascript 瀑布流式布局及其动态效果的实现 -
snowolf:
除非玩游戏,不然没啥win的事情,或者用win的银行客户端,通 ...
macbook安装操作系统的机理分析
UIView 转 UIImage 方法如下(关键是自适配分辨率):
- (UIImage*)lineImage:(UIColor *)color lineWidth:(float)width lineType:(int)type
{
self.lineColor = color;
lineWidth = width;
lineType = type;
//opaque:NO 不透明
UIGraphicsBeginImageContextWithOptions(self.frame.size, NO, 1.0);
//渲染自身
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *uiImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// [UIImagePNGRepresentation(uiImage) writeToFile:@"/users/test/desktop/a.png" atomically:YES];
return uiImage;
}
UIGraphicsBeginImageContextWithOptions
Creates a bitmap-based graphics context with the specified options.
void UIGraphicsBeginImageContextWithOptions(
CGSize size,
BOOL opaque,
CGFloat scale
);
Parameters
The size (measured in points) of the new bitmap context. This represents the size of the image returned by the UIGraphicsGetImageFromCurrentImageContext
function. To get the size of the bitmap in pixels, you must multiply the width and height values by the value in the scale parameter.
A Boolean flag indicating whether the bitmap is opaque. If you know the bitmap is fully opaque, you can specify YES
for this parameter to optimize the bitmap storage. Specifying NO
means that the bitmap must include an alpha channel to handle any partially transparent pixels.
The scale factor to apply to the bitmap. If you specify a value of 0.0
, the scale factor is set to the scale factor of the device’s main screen.
Updating Your Custom Drawing Code
When you do any custom drawing in your application, most of the time you should not need to care about the resolution of the underlying screen. The native drawing technologies automatically ensure that the coordinates you specify in the logical coordinate space map correctly to pixels on the underlying screen. Sometimes, however, you might need to know what the current scale factor is in order to render your content correctly. For those situations, UIKit, Core Animation, and other system frameworks provide the help you need to do your drawing correctly.
Creating High-Resolution Bitmap Images Programmatically If you currently use the UIGraphicsBeginImageContext function to create bitmaps, you may want to adjust your code to take scale factors into account. The UIGraphicsBeginImageContext function always creates images with a scale factor of 1.0. If the underlying device has a high-resolution screen, an image created with this function might not appear as smooth when rendered. To create an image with a scale factor other than 1.0, use the UIGraphicsBeginImageContextWithOptions instead. The process for using this function is the same as for the UIGraphicsBeginImageContext function:
- Call UIGraphicsBeginImageContextWithOptions to create a bitmap context (with the appropriate scale factor) and push it on the graphics stack.
- Use UIKit or Core Graphics routines to draw the content of the image.
- Call UIGraphicsGetImageFromCurrentImageContext to get the bitmap’s contents.
- Call UIGraphicsEndImageContext to pop the context from the stack.
For example, the following code snippet creates a bitmap that is 200 x 200 pixels. (The number of pixels is determined by multiplying the size of the image by the scale factor.)
UIGraphicsBeginImageContextWithOptions(CGSizeMake(100.0,100.0), NO, 2.0);
我感觉,这里写成:
UIGraphicsBeginImageContextWithOptions(CGSizeMake(100.0,100.0), NO, 0.0); 会更合适吧
发表评论
-
IVEngine —— Objective-C的Spring
2013-12-15 20:35 0背景: 只要是Java程序员,相信都听说 ... -
XCode环境变量及路径设置
2013-11-17 16:05 1784转自:http://blog.csdn.net/freedo ... -
OVGap — 沟通 Objective-C 与 Javascript
2013-11-14 15:14 817Github 地址: https://github.com ... -
IOS开发常用命令
2013-10-11 10:41 647统计代码行数 打开terminal, cd到项目根目 ... -
提高在Xcode上的工作效率
2013-08-31 11:05 1105转自:http://liuminqian.github.io ... -
把ipa包上传到AppStore
2013-08-26 21:46 929转自:http://doc.appcan.cn/dev_io ... -
iPhone应用程序中App目录结构
2013-08-26 17:30 965转自:http://blog.csdn.net/justin ... -
iOS运行回路(RunLoop)总结
2013-08-05 13:37 749转自:http://www.cocoachina.com/i ... -
Simple iPhone Keychain Access
2013-08-04 15:54 743转自:http://useyourloaf.com/b ... -
IOS媒体层
2013-07-28 15:18 849转自:http://wd397.blog.163.com/b ... -
nginx上搭建HLS流媒体服务器
2013-07-28 13:31 1390转自:http://blog.csdn.net/ ... -
Compile ffmpeg for iOS 6, support Simulator & armv7 & armv7s
2013-07-23 17:03 805转自:http://witcheryne.iteye.co ... -
UITableView 修改编辑模式下的切图
2013-07-14 21:03 1174把以下代码放在点解 “编辑” 按钮时触发的方法中。 ... -
iOS平台UDID方案比较
2013-07-09 20:27 1527转自:http://www.cocoachina.com/b ... -
25 Free iOS Design Resources
2013-05-12 19:08 548Some great designers around th ... -
谈谈iOS Animation
2013-05-07 09:39 608转自:http://geeklu.com/2012/09/a ... -
IOS文件系统的管理
2013-05-06 17:11 632转自:http://blog.csdn.net/zhuzhi ... -
iOS应用的本地缓存机制设计
2013-05-06 16:18 683参考:http://www.cnblogs.com/peng ... -
iOS并发编程指南(3)
2013-04-28 14:37 754转自:http://mobile.51cto.com/iph ... -
iOS运行回路(RunLoop)总结
2013-04-27 23:24 679转自:http://www.cocoachina.com/i ...
相关推荐
在iOS开发中,经常需要将UIView转换为UIImage,以便于保存、分享或者上传到服务器。这个"UIView转化为ImageDemo"项目就是一个很好的实例,演示了如何实现这个功能。在这个过程中,我们将深入探讨相关的知识点。 ...
这个方法可以将UIView的内容渲染到一个CGContext中,然后通过这个Context创建UIImage对象。 下面是一个基本的代码示例,展示如何将UIView转换为UIImage: ```swift func viewToImage(view: UIView) -> UIImage? { ...
这个库提供了便捷的方法,帮助开发者轻松地将模糊效果应用到UI元素上,尤其是`UIImage`对象。模糊效果在现代移动应用设计中广泛使用,它可以提升界面的视觉吸引力,并且在某些场景下,比如显示背景或提示信息时,...
我们使用`UIGraphicsBeginImageContextWithOptions`创建一个新的图形上下文,然后通过`renderInContext:`方法将maskView的layer渲染到这个上下文中,得到一个UIImage对象。 2. 创建一个只包含alpha通道的...
我们可以使用UIGraphicsGetCurrentContext()获取当前图形上下文,然后调用UIGraphicsBeginImageContextWithOptions和UIGraphicsGetImageFromCurrentImageContext方法生成UIImage对象。最后,使用...
当需要保存用户界面的状态或者制作截图分享时,可以使用`UIGraphicsBeginImageContextWithOptions`和`UIView.drawHierarchy(in:afterScreenUpdates:)`方法。这个项目可能包含了一个视图转图片的工具函数,能够捕捉到...
然后,我们可以使用`-[UIView drawViewHierarchyInRect:afterScreenUpdates:]`方法,将指定视图及其子视图的内容绘制到当前的图形上下文中。这个方法会遍历视图层次结构,对每个视图调用`drawRect:`方法,从而将它们...
本篇将详细介绍如何使用Objective-C语言实现这个功能,主要涉及的知识点包括`UIView`的图形上下文(Graphics Context)、颜色空间(Color Space)以及图像渲染(Image Rendering)。 首先,`UIView`是iOS中的基础...
如果需要截图特定的视图,而不是整个屏幕,可以使用`UIView`的`snapshotView(afterScreenUpdates:)`方法。这个方法会返回一个包含视图当前状态的静态视图,可以进一步处理这个视图以生成截图。 ```swift let ...
这可以通过调用`UIGraphicsBeginImageContextWithOptions`开始一个新的图形上下文,然后调用`UIApplication.shared.keyWindow?.snapshotView(afterScreenUpdates:)`获取屏幕的当前视图,最后将这个视图转换为UIImage...
你可以使用`UIGraphicsBeginImageContextWithOptions`函数创建一个新的图形上下文,然后调用`UIApplication.shared.keyWindow?.layer.render(in:)`方法将屏幕内容渲染到这个上下文。最后,通过`...
如果你只想截图某个特定的`UIView`,可以使用`drawViewHierarchyInRect(_:afterScreenUpdates:)`方法。这个方法会绘制视图及其所有子视图到指定的矩形区域。 ```swift func screenshotOfView(view: UIView) -> ...
在iOS中,UIImage的缩放通常涉及调整图像的显示大小,可以使用`CGImageCreateWithImageInRect`或`UIGraphicsBeginImageContextWithOptions`等方法。例如,为了缩放一个UIImage,我们可以创建一个新的图形上下文,其...
// 使用方法 if let image = myView.screenshot() { UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil) } ``` 这段代码定义了一个`UIView`的扩展,添加了`screenshot`方法。该方法首先创建一个与视图大小相同...
首先,我们可以使用`UIGraphicsBeginImageContextWithOptions`函数来创建一个新的图形上下文,然后调用`-[UIView drawViewHierarchyInRect:afterScreenUpdates:]`方法将视图的内容绘制到这个上下文中。这个方法会...
这个方法基于`UIGraphicsBeginImageContextWithOptions`来创建一个图形上下文,并使用`renderInContext:`方法将`view.layer`渲染到当前图形上下文中。这种方法适用于大部分情况,但存在一个问题:在某些低版本的系统...
然后,我们可以使用`PHPhotoLibrary`的`requestAuthorization`方法请求权限,以及`PHAssetChangeRequest`来创建新图片的请求: ```swift func saveImageToAlbum(_ image: UIImage) { PHPhotoLibrary....
为了方便使用,你可以创建一个UIImage的扩展,提供添加边框和渐变的便捷方法。这将使代码更整洁,易于维护。 7. **SwiftyImage项目**: SwiftyImage-master可能是对UIImage的进一步封装,提供了更加直观和易用的...
获得UIImage对象后,我们可以使用UIImage的`writeToSavedPhotosAlbum:`方法将图片保存至用户的照片库,或者使用`JPEGRepresentation`或`PNGRepresentation`方法将图片数据导出为JPEG或PNG格式的文件。 8. **性能...