无损图片缩放

 1 public static void SaveThumbnail(Bitmap originBitmap, int width, int height, string filename)
 2         {
 3             using (var newImage = new Bitmap(width, height))
 4             {
 5                 using (var graphic = GetGraphic(originBitmap, newImage))
 6                 {
 7                     graphic.DrawImage(originBitmap, 0, 0, width, height);
 8
 9
10                     ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
11                     ImageCodecInfo ici = null;
12                     foreach (ImageCodecInfo codec in codecs)
13                     {
14                         if (codec.MimeType.IndexOf("png") > -1)
15                             ici = codec;
16                     }
17                     EncoderParameters encoderParams = new EncoderParameters();
18                     long[] qualityParam = new long[1];
19                     qualityParam[0] = 100;
20                     EncoderParameter encoderParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, qualityParam);
21                     encoderParams.Param[0] = encoderParam;
22
23                     newImage.Save(filename, ici, encoderParams);
24                 }
25             }
26         }
27
28         private static Graphics GetGraphic(Image originImage, Bitmap newImage)
29         {
30             newImage.SetResolution(originImage.HorizontalResolution, originImage.VerticalResolution);
31             var graphic = Graphics.FromImage(newImage);
32             graphic.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
33             graphic.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
34             graphic.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
35             graphic.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
36             return graphic;
37         }

看了dudu的,但是调用报错,稍作修改

时间: 2024-12-14 18:22:47

无损图片缩放的相关文章

C# 无损图片压缩—— 基于Framework.40 类库实现

转载来自:http://write.blog.csdn.net/postedit/7715729 一.测试代码 private void button1_Click(object sender, EventArgs e)     {       string newSourcePath = ImgPath;//源图存放目录      string newNewDir = MakePath;   //新图存放目录 string sourceFile = Path.Combine(ImgPath,

开发利器_ImageMagick.基于Linux命令行的图片缩放/编辑/格式转换?

简单介绍: ImageMagick是一系列的用于修改,加工图像的命令行工具,能够快速地使用命令行对图片进行操作,对大量的图片进行批处理,它能执行相当多操作,本文涉及的只是开发中常用的技能. 快速安装: yum -y install epel-release yum install -y ImageMagick ImageMagick-devel 格式转换: convert 1.png 1.jpg 缩放图像: convert 1.jpg -resize 499x 1.jpg 说明: ImageMa

UIScrollView-大图片展示 与图片缩放 Demo

一 大图片展示 #import "MJViewController.h" @interface MJViewController () { UIScrollView *_scrollView;//方但全局调用定义成成员变量 } @end @implementation MJViewController - (void)viewDidLoad { [super viewDidLoad]; // 1.创建UIScrollView UIScrollView *scrollView = [[U

php实现图片缩放功能类

http://www.poluoluo.com/jzxy/201312/255447.html <?php /** * Images类是一个图片处理类 * @package application.controllers * @since 1.0 */ class Images { /** * 缩放图片 * @param $source原图片 * @param $newfile新图片 * @param $pre缩放比例 */ public function thumn($source,$pre,

Halcon的HWindowControl控件在WinForm程序中的使用介绍(重点解决图片缩放的问题)

 Halcon的HWindowControl控件在WinForm程序中的使用介绍(重点解决图片缩放的问题) 2016-12-04 20:11 362人阅读 评论(4) 收藏 举报  分类: Halcon 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] HWindowControl控件初步使用 最近在学习新的视觉处理工具–Halcon软件包,本人学习的主要是HDevelop.Halcon与C#混编以及Halcon与C++混编.这里再多缀一句:11版本后C++编程,包含的是h

java图片缩放

package com.rubekid.springmvc.utils; import java.awt.AlphaComposite; import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.awt.image.AffineTransformOp; import java.awt.image.BufferedImage; import java.io.File; import java.io.F

android多点触控自由对图片缩放

在系统的相册中,观看相片就可以用多个手指进行缩放. 要实现这个功能,只需要这几步: 1.新建项目,在项目中新建一个ZoomImage.java public class ZoomImageView extends View { //初始化状态常量 public static final int STATUS_INIT=1; //图片放大状态常量 public static final int STATUS_ZOOM_OUT=2; //图片缩小状态常量 public static final in

UIScrollView控件实现图片缩放功能

UIScrollView控件实现图片缩放功能 iOS开发UI篇-UIScrollView控件实现图片缩放功能

android关于图片缩放

网上有许多关于图片缩放的demo,本人都感觉不怎么好用,最近在github看到了 一个简单的支持多指缩放图片的Android View类 gesture-imageview (地址:https://github.com/jasonpolites/gesture-imageview),感觉还挺好用的,现在写个demo方便以后用于调用 第一步:添加库,推荐直接下载zip,导入工程后,直接将main里的com.polites.android包直接复制到自己的工程中,方便自己以后修改 第二步:由于我只需