缩略图不变形

Public Shared Sub MakeSmallImg(ByVal postFile As System.Web.HttpPostedFile, ByVal saveImg As String, ByVal Width As System.Double, ByVal Height As System.Double)


        Dim originalFilename As String = postFile.FileName
        '生成的高质量图片名称
        Dim strGoodFile As String = saveImg


        '从文件取得图片对象
        Dim image As System.Drawing.Image = System.Drawing.Image.FromStream(postFile.InputStream, True)

        Dim NewWidth, NewHeight As System.Double
        If (image.Width > image.Height) Then

            NewWidth = Width
            NewHeight = image.Height * (NewWidth / image.Width)

        Else

            NewHeight = Height
            NewWidth = (NewHeight / image.Height) * image.Width
        End If

        If (NewWidth > Width) Then

            NewWidth = Width
        End If
        If (NewHeight > Height) Then

            NewHeight = Height
        End If

        '取得图片大小
        Dim size As System.Drawing.Size = New System.Drawing.Size(CType(NewWidth, Integer), CType(NewHeight, Integer))
        '新建一个bmp图片
        Dim bitmap As System.Drawing.Image = New System.Drawing.Bitmap(size.Width, size.Height)
        '新建一个画板
        Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(bitmap)
        '设置高质量插值法
        g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High
        '设置高质量,低速度呈现平滑程度
        g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality
        '清空一下画布
        g.Clear(Color.White)
        '在指定位置画图
        g.DrawImage(image, New System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height), New System.Drawing.Rectangle(0, 0, image.Width, image.Height), System.Drawing.GraphicsUnit.Pixel)

        '文字水印
        'System.Drawing.Graphics G=System.Drawing.Graphics.FromImage(bitmap);
        'System.Drawing.Font f=new Font("宋体",10);
        'System.Drawing.Brush b=new SolidBrush(Color.Black);
        'G.DrawString("myohmine",f,b,10,10);
        'G.Dispose();

 

        '图片水印
        'System.Drawing.Image copyImage = System.Drawing.Image.FromFile(System.Web.HttpContext.Current.Server.MapPath("pic/1.gif"));
        'Graphics a = Graphics.FromImage(bitmap);
        'a.DrawImage(copyImage, new Rectangle(bitmap.Width-copyImage.Width,bitmap.Height-copyImage.Height,copyImage.Width, copyImage.Height),0,0, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel);

        'copyImage.Dispose();
        'a.Dispose();
        'copyImage.Dispose();


        '保存高清晰度的缩略图
        bitmap.Save(strGoodFile, System.Drawing.Imaging.ImageFormat.Jpeg)

        g.Dispose()
        image.Dispose()
        bitmap.Dispose()

    End Sub

MakeSmallImg(PhotoPath.PostedFile, filePath, 140, 185)

转载于:https://www.cnblogs.com/kentyshang/archive/2006/11/21/566950.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277132.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring boot druid 监控没有sql记录

2019独角兽企业重金招聘Python工程师标准>>> 1 之前配置了 druid的监控 但是 调用查询后 监控没有记录&#xff0c;查了下原因 发现是因为依赖打入错误 <dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starte…

noip2014联合权值

http://codevs.cn/problem/3728/ 我们要做的是计算距离为2的有序对权值之和及最大值&#xff0c;最大值好弄&#xff0c;但一一枚举是不可行的&#xff0c;因为n<200000&#xff0c;我们可以预处理一下&#xff0c;每次读入边的时候我们把与当前顶点有边相连的所有点的权值中…

11月30在spring mvc中使用Validator框架和文件上传

首先回顾了spring mvc中的表单验证和业务逻辑校验失败后&#xff0c;回到表单页面中显示错误信息的整个内部运行流程。表单校验出错后回到表单注册页面是由默认的SimpleFormController的processFormSubmission方法自动完成的&#xff0c;王涛忘记这一点&#xff0c;他们覆盖了p…

MapReduce其他功能

1&#xff0e; 计数器应用计数器是用来记录job的执行进度和状态的。MapReduce 计数器&#xff08;Counter&#xff09;为我们提供一个窗口&#xff0c;用于观察 MapReduce Job 运行期的各种细节数据。对MapReduce性能调优很有帮助&#xff0c;MapReduce性能优化的评估大部分都是…

用树莓派和PC机搭建多节点私人以太坊网络

发现国内很少有树莓派和电脑组建的私人区块链&#xff0c;所以在自己做实验的过程中记录下来分享给大家,第一次写博客&#xff0c;哈哈 以太坊私有链搭建&#xff08;电脑&#xff0c;树莓派端都适用&#xff09; &#xff08;1&#xff09;新建一个文件夹&#xff0c;例如myc…

CentOS6 YUM安装MariaDB10.3.10

1、先新增加一个MariaDB.repo vi /etc/yum.repos.d/MariaDB.repo[mariadb] name MariaDB baseurl http://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos6-amd64/ gpgkey http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB gpgcheck1 官网地址特别慢&#xff0c;所…

统一配置数据库连接符的方法

统一配置数据库连接符的方法 统一配置数据库的方法一.Web.config(应用方便,安全性差)1.Web.config文件<appSettings><add key"strconn" value"serverlocalhost;databasedlcusmgt;uidsa;pwd"/></appSettings>2.调用文件dim strconn as st…

JIRA的text编辑模式

无意中看到了开发经理描述的一个缺陷&#xff0c;descrption里添加了图片&#xff0c;添加了代码&#xff0c;格式非常规整 尝试了图片是可以插入的&#xff0c;但是代码不知道怎么插入的&#xff0c;于是问了下他&#xff0c;当然非常详细的截图抛过来了&#xff0c;告诉我详细…

FusionInsight LibrA V100R002C80SPC300安装指南

FusionInsight LibrA是企业级的大规模并行处理关系型数据库。FusionInsight LibrA采用MPP(Massive Parallel Processing)架构&#xff0c;支持行存储与列存储&#xff0c;提供PB(Petabyte&#xff0c;2的50次方字节)级别数据量的处理能力。FusionInsight LibrA在核心技术上跟传…

女人跳槽:最重要的是你的独立,你的快乐

工作并非证明女人活着的唯一证据。尤其是眼下这一个工作。或者是因为追求更好&#xff0c;或者是因为放弃更坏。一份工作如同一段感情&#xff0c;你不要它&#xff0c;说明它不够好到留住你。没有婚姻好过坏的婚姻&#xff0c;没有工作好过让你天天流泪的工作。如果实在不满意…

云托管,边缘物理计算托管物理计算,你所需要了解的……

随着业务发展&#xff0c;传统数据中心建设复杂性越来越高&#xff0c;基建的管理、设备的繁杂、人力成本的提升&#xff0c;是否让你的运维成本越来越高&#xff1f;企业生产效率却越来越低&#xff1f; 业务快速发展&#xff0c;设备采购周期冗长&#xff0c;大量采购造成CAP…

闲话WPF之十(Dependency属性 [2] )

在前一个Post中&#xff0c;曾提到将要重点研究Dependency属性的三个方面&#xff1a;变化通知&#xff1b;属性值的继承&#xff1b;支持多个提供对象。下面&#xff0c;我将分别就这三个内容进行简单地说明。【变化通知】 在任何时候&#xff0c;只要Dependency属性的值发生了…

1037 Magic Coupon

题目链接&#xff1a;https://pintia.cn/problem-sets/994805342720868352/problems/994805451374313472 这个题目有毒&#xff0c;开始我的while判断是使用的相乘大于0这种判断方式&#xff0c;但是最后一个案例始终过不了&#xff0c;可能是因为越界了&#xff0c;但是越界的…

利用解构赋值获取后端特定字段数据

很多时候&#xff0c;后端接口传过来的数据并不正好是我们需要的。有些场景下会有很多不需要的字段。 这时如果采用单个赋值的方法赋值数据无疑会比较麻烦。解决的办法就是利用解构赋值。 mounted(){let objs {name:test,sex:nan,caree:kaifa,height:180,country:country};({na…

理解ORACLE数据库字符集

一&#xff0e;引言 ORACLE数据库字符集&#xff0c;即Oracle全球化支持(Globalization Support)&#xff0c;或即国家语言支持&#xff08;NLS&#xff09;其作用是用本国语言和格式来存储、处理和检索数据。利用全球化支持&#xff0c;ORACLE为用户提供自己熟悉的数据库母语环…

软件设计师09-面向对象-用例图

感谢任铄老师滴视频 用例图 1&#xff09;描述一组用例、参与者及它们之间的关系 2&#xff09;用例模型用于需求分析阶段 3&#xff09;关系&#xff08;依赖关系&#xff09;&#xff1a;1&#xff09;包含&#xff08;include&#xff09; 1&#xff09;两个以上用例具有共同…

利用正则表达式截取特定字符中间字符

有如下场景&#xff0c;已知一个长字符串&#xff0c;需要获取指定字符串之间的字符。 // 已知字符串 var str body908888huhuc实测实《hu需要body和《hu之间的字符串。定义正则表达式。 var reg /(?<body).(?《hu)/;上述正则表达式利用了&#xff1a;获取指定字符串之后…

资源的积累

最近整理机器里边的各种文档&#xff0c;进行异地备份&#xff0c;整理后&#xff0c;看了看尺寸&#xff0c;天呀&#xff0c;竟然有855M&#xff0c;主要是各种文档、图片和代码等非2进制的东东。我按照日期整理了一下&#xff0c;最久的大概是在2003年&#xff0c;公司是在2…

【MySQL】4、Select查询语句

4.Select查询语句 4.1、select语句 <?php $servername "localhost"; $username "username"; $password "password"; $dbname "myDB";// 创建连接 $conn mysqli_connect($servername, $username, $password, $dbname); // Che…

一、环境调试确认

1、确认系统网络 2、确认yum可用 3、确认关闭iptables规则 4、确认停用selinux 两项安装 yum -y install gcc gcc-c autoconf pcre pcre-devel make automake yum -y install wget httpd-tools vim 一次初始化 cd /opt/ mkdir app backup download logs work转载于:https…