java memorystream 包_存储在MemoryStream中的裁剪图像中心
我有一个图像上传表格,存储两种尺寸的图像:大图像和缩略图图像 .
对于缩略图图像,我试图从中心裁剪图像并重新调整大小为:30px x 30px .
这是我的代码:
private static Bitmap ResizeImage(MemoryStream uploadStream, int maxWidth, int maxHeight)
{
Image img = Image.FromStream(uploadStream);
double ratioX = (double)maxWidth / img.Width;
double ratioY = (double)maxHeight / img.Height;
double ratio = Math.Max(ratioX, ratioY);
int newWidth = (int)(img.Width * ratio);
int newHeight = (int)(img.Height * ratio);
Bitmap resizedBitmap = new Bitmap(newWidth, newHeight);
Graphics.FromImage(resizedBitmap).DrawImage(img, 0, 0, newWidth, newHeight);
img.Dispose();
return resizedBitmap;
}
private static Bitmap CropImageToCentre(MemoryStream uploadStream, int width, int height)
{
Image img = Image.FromStream(uploadStream);
Bitmap resizedBitmap = new Bitmap(img);
int StartX = 0, StartY = 0;
int EndX = img.Width, EndY = img.Height;
bool Crop = false;
if (img.Width > width)
{
int MidX = img.Width / 2;
StartX = MidX - (width / 2);
EndX = MidX + (width / 2);
Crop = true;
}
if (img.Width > height)
{
int MidY = img.Height / 2;
StartY = MidY - (height / 2);
EndY = MidY + (height / 2);
Crop = true;
}
if (Crop)
{
Size imgSize = new Size(width, height);
resizedBitmap = new Bitmap(img, imgSize);
}
img.Dispose();
return resizedBitmap;
}
public static Bitmap ResizeThumbnail(MemoryStream ms)
{
int thumbWidth = int.Parse(ConfigurationManager.AppSettings["thumbwidth"]);
int thumbHeight = int.Parse(ConfigurationManager.AppSettings["thumbheight"]);
return CropImageToCentre(BitmapToMemoryStream(ResizeImage(ms, thumbWidth, thumbHeight)), thumbWidth, thumbHeight);
}
public static Bitmap ResizeLargeImage(MemoryStream ms)
{
int width = int.Parse(ConfigurationManager.AppSettings["largewidth"]);
int height = int.Parse(ConfigurationManager.AppSettings["largeheight"]);
return ResizeImage(ms, width, height);
}
private static MemoryStream BitmapToMemoryStream(Bitmap bm)
{
MemoryStream memoryStream = new MemoryStream();
bm.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
return memoryStream;
}
我遇到的问题是在调用 ResizeThumbnail() 方法时,图像不会被裁剪或调整为30px的高度和宽度 .
java memorystream 包_存储在MemoryStream中的裁剪图像中心相关推荐
- java 字符串包_包java字符串
Java核心技术卷I基础知识3.6.3 不可变字符串 3.6.3 不可变字符串 String类没有提供用于修改字符串的方法.如果希望将greeting的内容修改为"Help!",不 ...
- java ear包_简单介绍Java 的JAR包、EAR包、WAR包区别
原标题:简单介绍Java 的JAR包.EAR包.WAR包区别 WAR包 WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件.War专 ...
- smtp java 抓包_[Wireshark]_003_电子邮件抓包分析
电子邮件是我们的生活工作中经常使用的一种服务,用来联系世界各地的朋友,客户.下面我们就用Wireshark对电子邮件进行抓包. 准备工作: 邮件客户端一款(Outlook,Foxmail,KooMai ...
- java logging包_用JDK中提供的java.util.logging.*包创建Logger对象----原创
由于项目中用到了Applet与Servlet之间(客户端用Applet.Server端用Servlet)的通信,要求: 1:>客户端与服务端必须出Log. 2:>浏览器在加载Applet时 ...
- java weka包_在Eclipse中调用weka包实现分类
1.如题. 最近写了一个FCM的聚类算法,希望能够可视化结果,因此一个想法是调用weka中的包,使自己的程序可以可视化.这里参考了网络上的方法,首先实现在Eclipse中调用weka包实现分类的功能. ...
- java exception 包_什么是Java中的异常包装?
Java中的异常包装是什么? 在异常处理中有什么用? 它与异常传播有何不同? Exception wrapping is when you catch an exception, wrap it in ...
- java compareandset 包_在Java中,AtomicInteger compareAndSet()和synced关键字的性能如何?...
我实现了请求实例的FIFO队列(为速度预先分配了请求对象),并开始在add方法上使用" synchronized"关键字.该方法很短(检查是否在固定大小的缓冲区中有空间,然后将值添 ...
- java 存储变量_如何在Java 8中将方法存储在变量中?
小编典典 是的,您可以对任何方法进行变量引用.对于简单的方法,通常使用java.util.function.*class就足够了.这是一个工作示例: import java.util.function ...
- java syn包_月薪3K的后端面试点-网络与Java
网络基础 传输控制协议TCP简介 面向连接的.可靠的.基于字节流的传输层通信协议 将应用层的数据流分割成报文段并发送给目标节点的TCP层 数据包都有序号,对方收到则发送ACK确认,未收到则重传 使用校 ...
最新文章
- 使用javaservice 将jboss 注册为服务
- 图集cancelButtonIndex,发送通知简洁写法
- 微信小程序正确的异步request请求,根据经纬度获取地理位置信息
- 前端学习(3306):函数组件usermemo和usercallback二
- MyBatis的逆向工程工具,自动生成数据库对应的POJO实体类、mapper接口、增删改查mapper.xml文件
- 《Python编程从入门到实践》记录之文件异常(try-except-else代码块)
- 一个网卡配置两个不同网段的IP地址(比如应用道闸项目)
- 吴恩达机器学习week2
- ListT清除重复某一项
- layui jquery innerHTML 无效
- L298电机驱动原理图+PCB
- Miller_Rabin(米勒拉宾)素数测试
- su必备插件_sketchup插件 su十大必备插件
- (Cys-RGD)包被CdTe量子|3-巯基丙酸(MPA)包被近红外发光CdTe量子
- ArcGIS Desktop10.3位置分配,选址分析
- DTL autoescape
- Spark SQL 快速入门系列(六)Spark SQL 访问 JDBC
- 香蕉派BPI-M64-〇〇五之:烧录Ubuntu16.04到emmc中(基于win10系统下操作)
- 真无线蓝牙耳机哪款音质最好?真无线蓝牙耳机音质排行榜
- 从宜宾天原看中国氯碱百年史:初心未改 工业赋能迈向强国序列