惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Darknet – Hacking Tools, Hacker News & Cyber Security
V
Vulnerabilities – Threatpost
Cloudbric
Cloudbric
G
GRAHAM CLULEY
S
Securelist
Schneier on Security
Schneier on Security
Help Net Security
Help Net Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Project Zero
Project Zero
Spread Privacy
Spread Privacy
P
Privacy International News Feed
C
Cyber Attacks, Cyber Crime and Cyber Security
Cisco Talos Blog
Cisco Talos Blog
T
Tailwind CSS Blog
博客园_首页
有赞技术团队
有赞技术团队
Simon Willison's Weblog
Simon Willison's Weblog
Stack Overflow Blog
Stack Overflow Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Latest news
Latest news
T
Tor Project blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Attack and Defense Labs
Attack and Defense Labs
www.infosecurity-magazine.com
www.infosecurity-magazine.com
O
OpenAI News
J
Java Code Geeks
T
Tenable Blog
K
Kaspersky official blog
AWS News Blog
AWS News Blog
S
Security @ Cisco Blogs
The GitHub Blog
The GitHub Blog
T
Threatpost
月光博客
月光博客
H
Heimdal Security Blog
Security Latest
Security Latest
The Hacker News
The Hacker News
Y
Y Combinator Blog
A
Arctic Wolf
Apple Machine Learning Research
Apple Machine Learning Research
C
Cisco Blogs
美团技术团队
Microsoft Security Blog
Microsoft Security Blog
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
C
CERT Recently Published Vulnerability Notes
D
Docker
Google Online Security Blog
Google Online Security Blog
D
DataBreaches.Net
V
Visual Studio Blog
H
Help Net Security

博客园 - ю意思я

视频播放的进化(一) 图片同步 WPF初体验 C#实现开关显示器功能 共享文件夹 w32Time服务(NTP)的一些配置 ShutdownAPI 将文件读取到内存中 在windows server 2003服务器上提供NTP时间同步服务 如何与使用DHCP获取IP地址的设备组网 在VS内添加Web Reference 如何消除锯齿,在图片上画出高质量的文字 如何让Firefox3支持迅雷 获取和设置IP地址 判断字符串是否为IPv4地址 axWindowsMediaPlayer操作 关于相对路径匹配的问题 ToFriendlyFileSize Class的设计
图片裁剪
ю意思я · 2009-08-11 · via 博客园 - ю意思я

  刚好需要做图片裁剪,就在网上找了几个方法,都拿来试试,分析一下。
  方法一(原帖地址:他的做法是将一个已知文件名的图片裁剪后保存为另一个文件,我根据自己的需要改成了输入和输出都是Image对象的方式):

ImageCut

  方法二(原帖地址:同方法一,做了一些修改):

ImageCut

  两种方法的比较:
  两种方法生成的图片是一样的,区别在于所用的时间;为此我做了几个测试:当取一张分辨率为2592X1944、大小为2.09M的图片作为原始图片时,方法一用时436.5毫秒,方法二为333.2毫秒;而当图片大到分辨率为6404X4724、大小为25.1M的时候,方法一用时3485.0毫秒,方法二用时2758.8毫秒,两者相差超过半秒钟;可以预见,图片越大,方法二的速度优势越明显;因此,如果从节省时间资源的角度考虑,应该选用方法二。
  更正:
  由于编写代码上的疏忽,导致原先对切割图片的时间计算是错误的;同时对于方法一再次做了修改,代码如下:

ImageCut

  由于此方法的切割采用了Bitmap对象的Clone()方法,因此我将传入的参数做了相应的修改,并将其切割精度扩大到小数级别;排除所有干扰后重新对两个方法进行耗时测试,结果为:当取一张分辨率为2592X1944、大小为2.09M的图片作为原始图片时,方法一用时5.1毫秒左右,方法二为46毫秒左右;而当图片大到分辨率为6404X4724、大小为25.1M的时候,方法一仅用时5.8毫秒左右,方法二用时240毫秒左右;可见,方法一的速度优势是极其明显的;究其原因,方法一采用了Bitmap对象的Clone,而方法二将大量的时间耗在了DrawImage上;因此,方法一在切割图片的时间资源占用上是非常非常小的,或许已经达到了GDI+所能做到的极限;当然,或许还不是;所以我会继续研究下去的,也不能再犯之前不够细致的错误了,嘿嘿~