縮略圖不變形

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.pswp.cn/news/277132.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277132.shtml
英文地址,請注明出處:http://en.pswp.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…