首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
图片的水印
时间:
2014-12-04 17:58:43
阅读:
151
评论:
0
收藏:
0
[点我收藏+]
标签:
quartz 2d
图片的水印
开启一个基于位图的图形上下文
void
UIGraphicsBeginImageContextWithOptions(CGSize size,
BOOL
opaque, CGFloat scale)
从上下文中取得图片(
UIImage
)
UIImage* UIGraphicsGetImageFromCurrentImageContext();
结束基于位图的图形上下文
void
UIGraphicsEndImageContext();
- (
void
)testWater
{
UIImage
*bgImage = [
UIImage
imageNamed
:
@"scene"
];
//
上下文
:
基于位图
(bitmap) ,
所有的东西需要绘制到一张新的图片上去
// 1.
创建一个基于位图的上下文
(
开启一个基于位图的上下文
)
// size :
新图片的尺寸
// opaque : YES :
不透明
, NO :
透明
//
这行代码过后
.
就相当于常见一张新的
bitmap,
也就是新的
UIImage
对象
UIGraphicsBeginImageContextWithOptions
(bgImage.
size
,
NO
,
0.0
);
// 2.
画背景
[bgImage
drawInRect
:
CGRectMake
(
0
,
0
, bgImage.
size
.
width
, bgImage.
size
.
height
)];
// 3.
画右下角的水印
UIImage
*waterImage = [
UIImage
imageNamed
:
@"logo"
];
CGFloat
scale =
0.2
;
CGFloat
margin =
5
;
CGFloat
waterW = waterImage.
size
.
width
* scale;
CGFloat
waterH = waterImage.
size
.
height
* scale;
CGFloat
waterX = bgImage.
size
.
width
- waterW - margin;
CGFloat
waterY = bgImage.
size
.
height
- waterH - margin;
[waterImage
drawInRect
:
CGRectMake
(waterX, waterY, waterW, waterH)];
// 4.
从上下文中取得制作完毕的
UIImage
对象
UIImage
*newImage =
UIGraphicsGetImageFromCurrentImageContext
();
// 5.
结束上下文
UIGraphicsEndImageContext
();
// 6.
显示到
UIImageView
self
.
iconView
.
image
= newImage;
// 7.
将
image
对象压缩为
PNG
格式的二进制数据
NSData
*data =
UIImagePNGRepresentation
(newImage);
// 8.
写入文件
NSString
*path = [[
NSSearchPathForDirectoriesInDomains
(
NSDocumentDirectory
,
NSUserDomainMask
,
YES
)
lastObject
]
stringByAppendingPathComponent
:
@"new.png"
];
[data
writeToFile
:path
atomically
:
YES
];
}
图片的水印
标签:
quartz 2d
原文地址:http://blog.csdn.net/itcontend/article/details/41727221
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!