C# 图片剪切与缩小的实例
public void CutToF(Stream stream)
{
Image initImage = Image.FromStream(stream, true);
if (initImage.Width <= && initImage.Height <= )
{
initImage.Save("D://test.jpg", ImageFormat.Jpeg);
}
else
{
int initWidth = initImage.Width;
int initHeight = initImage.Height;
if (initWidth != initHeight)
{
Image pickedImage = null;
Graphics pickedG = null;
if (initWidth > initHeight)
{
pickedImage = new Bitmap(initHeight, initHeight);
pickedG = Graphics.FromImage(pickedImage);
pickedG.InterpolationMode = InterpolationMode.HighQualityBicubic;
pickedG.SmoothingMode = SmoothingMode.HighQuality;
Rectangle fromR = new Rectangle(, , initHeight, initHeight);//(initWidth - initHeight) / 2
Rectangle toR = new Rectangle(, , initHeight, initHeight);
pickedG.DrawImage(initImage, fromR);
pickedImage.Save("D://jpg//test2.jpg");
initWidth = initHeight;
}
initImage = (Image)pickedImage.Clone();
pickedG.Dispose();
pickedImage.Dispose();
initImage.Save("D://jpg//test1.jpg"); }
Image resultImage = new Bitmap(, );
Graphics resultG = Graphics.FromImage(resultImage);
resultG.InterpolationMode = InterpolationMode.HighQualityBicubic;
resultG.SmoothingMode = SmoothingMode.HighQuality;
resultG.Clear(Color.White);
resultG.DrawImage(initImage, new Rectangle(, , , ), new Rectangle(, , initWidth, initHeight), GraphicsUnit.Pixel);
ImageCodecInfo[] icis = ImageCodecInfo.GetImageEncoders();
ImageCodecInfo ici = null;
foreach (ImageCodecInfo item in icis)
{
if (item.MimeType == "image/jpeg" || item.MimeType == "image/bmp" || item.MimeType == "image/png" || item.MimeType =="image/gif")
{
ici = item;
}
}
EncoderParameters ep = new System.Drawing.Imaging.EncoderParameters();
ep.Param[] = new System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long));
resultImage.Save("D://jpg//test.jpg", ici, ep);
ep.Dispose();
resultG.Dispose();
resultImage.Dispose();
initImage.Dispose();
}
}
C# 图片剪切与缩小的实例的更多相关文章
- 图片剪切之Croppic插件
前几天做图片上传时需要进行图片的剪切和缩放,上网查找时找到了这个插件.样式很好看,功能也很OK.但是网上都是php进行后台处理图片的例子,然后只好慢慢琢磨C#的处理.插件地址是:http://www. ...
- 赵雅智_运用Bitmap和Canvas实现图片显示,缩小,旋转,水印
上一篇已经介绍了Android种Bitmap和Canvas的使用,以下我们来写一个详细实例 http://blog.csdn.net/zhaoyazhi2129/article/details/321 ...
- CSS设置标签、图片放大、缩小、旋转、移动(tranform)
CSS设置标签.图片放大.缩小.旋转.移动(tranform) 1.缩小和放大属性(scale) 格式:tranform:缩小类型(数值): 注意:缩小和放大都是 scale : 其中的值(0~1)代 ...
- Android 本地/网路下载图片实现放大缩小
Android 本地加载/网路下载图片实现放大缩小拖拉效果,自定义控件. package com.example.ImageViewCustom; import android.app.Activi ...
- iOS开发UI篇—Quartz2D使用(图片剪切)
iOS开发UI篇—Quartz2D使用(图片剪切) 一.使用Quartz2D完成图片剪切 1.把图片显示在自定义的view中 先把图片绘制到view上.按照原始大小,把图片绘制到一个点上. 代码: - ...
- 【iOS】Quartz2D图片剪切
一.使用Quartz2D完成图片剪切1.把图片显示在自定义的view中 先把图片绘制到view上.按照原始大小,把图片绘制到一个点上. 代码: - (void)drawRect:(CGRect)rec ...
- 图片上传,图片剪切jquery.imgareaselect
---恢复内容开始--- <%@ page language="java" contentType="text/html; charset=UTF-8" ...
- JS控制图片拖动 放大 缩小 旋转 支持滚轮放大缩小 IE有效
<html> <head> <title>图片拖动,放大,缩小,转向</title> <script type="text/ja ...
- JS中图片的放大缩小没反应
这段代码无反应: 代码如下: <script type="text/javascript"> onload = function () { document.getEl ...
随机推荐
- 随机访问RandomAccessFile
public native long getFilePointer() throws IOException;//当前文件的指针位置是 import java.io.IOException; impo ...
- 使用NHibernate连接MySQL数据库及增删改查
学习资料 http://www.sikiedu.com/course/51/task/891/show https://www.codeproject.com/Articles/26123/NHibe ...
- 【MM系列】SAP MM模块-组织结构第二篇
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-组织结构第二篇 ...
- layui中获取全部提交的数据
<form class="layui-form" action="">...........input textarea ......</fo ...
- YOLOv3 算法的详细说明
YOLOv3没有太多的创新,主要是借鉴一些好的方案融合到YOLO里面.不过效果还是不错的,在保持速度优势的前提下,提升了预测精度,尤其是加强了对小物体的识别能力. 本文主要讲v3的改进,由于是以v1和 ...
- web 前端1 拾遗
1.整体布局 三个div header body footer 2.div的居中 width:980px margin:0 auto 3.内联标签 inline #内联 无法使用高度.宽度 block ...
- 循环结构 :do-while
循环结构 :do-while 循环四要素: 1.初始化条件 2.循环条件 3.循环体 4.迭代条件 格式: 1.初始化条件 do{ 3.循环体 4.迭代条件 }while(2.循环条件); publi ...
- 2019牛客暑期多校训练营(第三场) - J - LRU management - 模拟
https://ac.nowcoder.com/acm/contest/883/J 根据这个数据结构的特点,也就是计算机组成原理里面学过的cache的LRU管理算法,每次访问都会在cache中查询一页 ...
- C#开发 WinForm如何在选项卡中集成加载多个窗体 实现窗体复用
http://blog.csdn.net/upi2u/article/details/37914909 最近需要做的一个项目,为了避免从菜单中选择的麻烦,需要把几个窗体集成到一起,通过TabContr ...
- ideamaven版的MBG逆向工程
一.简介 简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件,接口,以及bean类. 支持基本的增删改查,以及QBC风格的条件查询. 但是表连接.存储 ...