缩略图

.Net图片处理函数

蓝咒 提交于 2020-03-11 10:14:03
代码 /// <summary> /// 获取一个图片按等比例缩小后的大小。 /// </summary> /// <param name="maxWidth"> 需要缩小到的宽度 </param> /// <param name="maxHeight"> 需要缩小到的高度 </param> /// <param name="imageOriginalWidth"> 图片的原始宽度 </param> /// <param name="imageOriginalHeight"> 图片的原始高度 </param> /// <returns> 返回图片按等比例缩小后的实际大小 </returns> public static Size GetNewSize( int maxWidth, int maxHeight, int imageOriginalWidth, int imageOriginalHeight) { double w = 0.0 ; double h = 0.0 ; double sw = Convert.ToDouble(imageOriginalWidth); double sh = Convert.ToDouble(imageOriginalHeight); double mw = Convert.ToDouble(maxWidth); double mh =

生成规定大小的图片(缩略图生成)

风流意气都作罢 提交于 2020-03-03 18:58:13
做一购物网站,改版N次,每次改版那产品列表图的大小都会变,第一次是90*70,第二次改版又变成160*120,每次改版都得把产品图片文件夹中的2W多张图片一个一个转为对应的大小的图片,以前用的是网上找的一个方法: C#代码 /// <summary>生成缩略图 /// /// </summary> /// <param name="originalImagePath">源图路径(物理路径)</param> /// <param name="thumbnailPath">缩略图路径(物理路径)</param> /// <param name="width">缩略图宽度</param> /// <param name="height">缩略图高度</param> /// <param name="mode">生成缩略图的方式</param> /// public static void MakeThumbnail( string originalImagePath, string thumbnailPath, int width, int height, string mode) { System.Drawing.Image originalImage = System.Drawing.Image.FromFile(originalImagePath); int towidth =

[GDI+]如何制作出高质量的缩略图

烈酒焚心 提交于 2020-03-01 22:27:18
如何制作出高质量的缩略图是个关键的因素,最近项目中遇到了类似需要解决的问题。 一般情况下,我们制作成的缩略图都会保存为占用空间比较小的Jpeg类型,在使用GetThumbnail方法制作成的缩略图质量感觉不理想, 如何才能保证在压缩比例最优化的情况下产生高质量的缩略图呢,经过查阅相关资料, 发现在Graphics 对象的 InterpolationMode 属性中可以产生不同质量模式的缩放图,看到这里了,不再是缩略图,而是缩放图,就是说放大的时候也可以使用。 Graphics 对象的 InterpolationMode 属性枚举定义了几种模式,列表如下: NearestNeighbor Bilinear HighQualityBilinear Bicubic HighQualityBicubic 从名字上就可以识别NearestNeighbor 是质量最差的模式,HighQualityBicubic 是质量最好的模式了,我们借此属性看看生成的图片怎么样吧,下段代码摘自网络,大家可以把下面的函数拿去使用,这里采用了HighQualityBilinear 。 代码引用地址: http://www.bobpowell.net/highqualitythumb.htm Public Function GenerateThumbnail() Function

高并发系统中的常见问题

▼魔方 西西 提交于 2020-02-29 03:57:25
本文一共分析了三个案例,分别介绍并发系统中的共享资源并发访问、计算型密集型任务缓存访问 、单一热点资源峰值流量问题和解决方案。 Q1 :订 票系 统 ,某车次只有一 张 火车票,假定有1w个人同 时 打开12306网站来 订 票,如何解决并 发问题 ? A1 : 首先介绍数据库层面的并发访问,解决的办法主要是乐观锁和悲观锁。 乐观锁 假设不会发生并发冲突,只在提交操作时检查是否违反数据完整性。 乐观锁使用一个自增的字段表示数据的版本号(或者timestamp),更新的时候检查版本号是否一致,比如数据库中版本号为4,更新时版本号使用版本号version=5,与数据库中的版本号version+1=(5)做比较,如果相等,则可以更新,如果不相等,其他程序已更新该记录,返回错误。 悲 观锁 假定会发生并发冲突,屏蔽一切可能违反数据完整行的操作。 一般需要使用数据库的锁机制,比如MysqlInnoDB引擎的行级锁。 结论:在实际生产环境中,如果并发量不大且不允许脏读(原始数据为5,AB两个事务,B其他事务更新数据为2,事务未提交时,A读取到的仍然为5),可以使用悲观锁。并发访问量大时,使用悲观锁有非常大的性能问题,可以选择乐观锁。 其次,介绍一下Memcached的CAS机制 CAS ,又称Compare-and-Swap,代表一种原子操作。 Memcached

生成规定大小的图片(缩略图生成)

穿精又带淫゛_ 提交于 2020-02-27 08:33:03
做一购物网站,改版N次,每次改版那产品列表图的大小都会变,第一次是90*70,第二次改版又变成160*120,每次改版都得把产品图片文件夹中的2W多张图片一个一个转为对应的大小的图片,以前用的是网上找的一个方法: 代码 /// <summary> 生成缩略图 /// /// </summary> /// <param name="originalImagePath"> 源图路径(物理路径) </param> /// <param name="thumbnailPath"> 缩略图路径(物理路径) </param> /// <param name="width"> 缩略图宽度 </param> /// <param name="height"> 缩略图高度 </param> /// <param name="mode"> 生成缩略图的方式 </param> /// public static void MakeThumbnail( string originalImagePath, string thumbnailPath, int width, int height, string mode) { System.Drawing.Image originalImage = System.Drawing.Image.FromFile(originalImagePath); int

10个小技巧增加你的Youtube频道订阅数、粉丝

限于喜欢 提交于 2020-02-26 23:27:55
衡量一个Youtube频道是否成功的一个重要标准就是订阅用户数量(也可以称为粉丝数量),Youtube的粉丝好处在于,每当你上传一个视频,Youtube就会提醒所有你的粉丝,这样他们就有可能去看你的视频,我们必须记住,视频的观看量,点击率越高,视频的排名就越靠前。 在这篇文章当中,我们将教你如何在YouTube上获得更多订阅者的九种独特方式: 1. 保持更新,定期发布新内容 能否持续发布原创内容是youtube衡量你的频道的质量的一个标准。如果你只是偶尔发布几个视频,就想期待有粉丝关注和订阅,那是不太现实的。你可以去制定一个Youtube发布计划,定时定量的去做,循序渐进,才能有效果。 每周安排和规划好相应内容可让你与YouTube频道内容保持一致。制定发布计划有助于保持良好的发布习惯。一旦你开始发布你的视频内容,你会给你的客户带来更多的好处。客户认为你的视频内容对自己有作用,就会订阅你的频道。 2. 重视你的视频前10秒,做到最好 根据美国国家生物技术信息中心的数据报告发现,视频的平均观看次数为2.7分钟。虽然这可能看起来像是一段很长的时间,但这包括从几小时到一分钟不等的视频长度。 在视频的前几秒内留下好的印象至关重要。 企业去测试他们的广告内容,目的是为了达到更多的观看数量。 虽然许多广告都会潜意识的去暗示用户在观看正片之前观看整个广告,但大量广告的客户最短观看时间为仅仅只有5

Thinkphp5.0上传缩略图

亡梦爱人 提交于 2020-02-26 12:50:48
/** * @param $width 裁剪的宽度 * @param $height 裁剪的高度 * @param string $filePath 保存缩略图文件的文件夹路径 * @param string $name 上传的文件类型 * @return array 缩略图和原图路径 * @author: hhygyl * @name: uploadThumb * @describe:缩略图上传 */ public function uploadThumb ( $width , $height , $filePath = "thumb_images" , $name = "file" ) { $file = request ( ) - > file ( $name ) ; if ( $file ) { $filePaths = ROOT_PATH . 'public' . DS . 'uploads' . DS . $filePath ; $info = $file - > validate ( [ 'size' = > 2014 * 12 , 'ext' = > 'jpg,png,gif,jpeg' ] ) - > move ( $filePaths ) ; if ( $info ) { $md5 = $file - > hash ( 'md5' ) ; $sha1 =

netcore 图片缩略图

别等时光非礼了梦想. 提交于 2020-02-13 01:59:41
/// <summary> /// 取小写文件名后缀 /// </summary> /// <param name="name">文件名</param> /// <returns>返回小写后缀,不带“.”</returns> public static string GetFileExt(string name) { return name.Split(".").Last().ToLower(); } /// <summary> /// 是否为图片文件 /// </summary> /// <param name="fileExt">文件扩展名,不含“.”</param> public static bool IsImage(string fileExt) { ArrayList al = new ArrayList { "bmp", "jpeg", "jpg", "gif", "png", "ico" }; return al.Contains(fileExt); } /// <summary> /// 检查是否允许文件 /// </summary> /// <param name="fileExt">文件后缀</param> /// <param name="allowExt">允许文件数组</param> public static bool CheckFileExt

Image Retargeting - 图像缩略图 图像重定向

∥☆過路亽.° 提交于 2020-02-05 02:28:20
Image Retargeting 图像缩略图、图像重定向 前言 这篇文章主要对比DL出现之前的几种上古算法,为了作为DL方法的引子而存在,顺便博客也该更新点新内容上来了,这篇博文就是介绍了我最近在玩什么。 本文方法 传统的方法主要有三种: Resize ( 拉伸、收缩 )、 Crop ( 裁剪 )和 Seam Carving ( 接缝裁剪 )。 其中接缝裁剪这个算法挺好玩的,论文参见 Seam Carving ,截止本篇博文,被引用次数是1914次,可以说是很经典的文章了。 该论文实现的效果图: 本文用到的python库 三种算法的对比由 python 实现,python版本为 python3.8 ,对应下列依赖库版本为 conda 直接安装,不同版本请注意自己改动部分接口。 opencv 用于图像处理 scipy 用于图像卷积 notebook 提供环境 matplotlib 用于图像显示 tqdm 用于进度显示(可不用 主要是因为SC算法太慢了 会让人觉得程序卡了 numpy 用于辅助opencv 具体引用代码如下: import cv2 import matplotlib.pyplot as plt import numpy as np from scipy.ndimage.filters import convolve from tqdm import trange

WPF 4 开发Windows 7 任务栏(Overlay Icon、Thumbnail Toolbar、Progress Bar)

眉间皱痕 提交于 2020-02-02 18:33:50
在 上一篇 我们介绍了如何在WPF 4 中开发Windows 7 跳转列表,本篇将继续针对WPF 4 中任务栏其他功能: 覆盖图标 (Overlay Icon)、 进度条 (Progress Bar)、 缩略图工具栏 (Thumbnail Toolbar)进行研究。对于这些功能的API 开发可参考 《Windows 7 任务栏开发系列汇总》 。 TaskbarItemInfo 在 System.Windows.Shell 命名空间中,TaskbarItemInfo 类包含的上述所有Windows 7 任务栏开发功能,通过它我们可以自定义软件任务栏的各种功能,其类成员可参考: TaskbarItemInfo Members 。 ThumbButtonInfo 同样在System.Windows.Shell 命名空间中,ThumbButtonInfo 类为我们提供了开发缩略图工具栏的功能,其类成员可参考: ThumbButtonInfo Members ,使用方式在下文中将会介绍。 覆盖图标(Overlay Icon) 通过API 开发Overlay Icon 时,需要简单调用SetOverlayIcon 方法即可。在WPF 4 中开发仍然很简单,只需在XAML 中为TaskbarItemInfo 类的Overlay 属性赋上Icon 值便可实现,如下代码所示: <Window