2009-11-09 22:44:09
將一個文件夾中所有的bmp文件轉化成同名的jpg文件
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using System.Text.RegularExpressions;//正則表達式Regex在的命名空間 namespace 圖片處理 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //含子文件夾的圖像轉換 folderBrowserDialog1.ShowDialog(); string strPath = folderBrowserDialog1.SelectedPath; //string strPath = @"d:/pic"; DirectoryInfo path = new DirectoryInfo(strPath); FileInfo[] files = path.GetFiles("*.bmp", SearchOption.AllDirectories); foreach (FileInfo item in files) { Image img = Image.FromFile(item.FullName); string strNewFileName = Regex.Replace(item.FullName, @"/.bmp$", ".jpg", RegexOptions.IgnoreCase); img.Save(strNewFileName, System.Drawing.Imaging.ImageFormat.Jpeg); img.Dispose(); } } private void button2_Click(object sender, EventArgs e) { //指定文件夾的圖像轉換 folderBrowserDialog1.ShowDialog(); string strPath = folderBrowserDialog1.SelectedPath; DirectoryInfo Dir=new DirectoryInfo(strPath); foreach(FileInfo f in Dir.GetFiles("*.*")) { Image img=ReturnPhoto(f.FullName); string strNewFileName = Regex.Replace(f.FullName, @"/.bmp$", ".jpg", RegexOptions.IgnoreCase); img.Save(strNewFileName, System.Drawing.Imaging.ImageFormat.Jpeg); img.Dispose(); } } private Image ReturnPhoto(string bmpFileName) { System.IO.FileStream stream ; stream=File.OpenRead(bmpFileName); Bitmap bmp = new Bitmap(stream); System.Drawing.Image image = bmp; System.Drawing.Image newImage = image.GetThumbnailImage(bmp.Width, bmp.Height, null, new IntPtr()); Graphics g=Graphics.FromImage(newImage); g.DrawImage(newImage,0,0, newImage.Width, newImage.Height); g.Dispose(); stream.Close(); return newImage; } } }
序號 具體符號 Unicode 1 ㎡ \u33A1 2 ×
如何實現對上下文(Context)數據的統一管理 [提供源代碼下載] 在應用開發中,我們經常需要設置一些上下文(Context)信息,這些上下文信息一般基於當前的會話(Session),比如當前登錄用戶的個人信息;或者基於當前方法調用
配置文件 配置文件 <appSettings> <add key="EnableCache" value="true"/> <add key="CacheDurationSeconds" value="300"/></appS
工作將近10年多了,工作中也陸陸續續學習和搭建了不少的框架,因爲經常碰到有些身邊的朋友自己接項目,又沒有相對較好維護易用的框架,最近抽空整理搭建了一個基於Dapper、EntityFrameworkCore+Autofac的框架,個人覺得
C#面向過程的知識點,因爲非常“單一”,當然不是少,而是很散,也許是學習了面向對象之後的感覺吧,沒有“連貫性”,但是是學習面向對象的基礎,沒有面向過程,何來的面向對象呢?學習C#面向過程,我們瞭解了控制檯程序運行時的神奇(通過自
-->學習WinForm知識,看着視頻教程中老師做記事本非常簡單,聽着也覺得是那麼一回事,但是今天上午我複習做記事本的時候才發現自己錯了。 -->製作記事本案例可以將之前WinForm的基礎知識複習一遍,現分享一下學習
枚舉是一個值類型,包含一組命名的常量,如這裏的Color類型。枚舉類型用enum關鍵字定義: public enum Color { Red, Green, Blue } 可以聲明枚舉類型的變量,如變量c1,用
引用類型(類)的變量可以爲空,而值類型(結構)的變量不能。在一些情況下,這可能是一個問題,如把C#類型映射到數據庫或XML類型。數據庫或XML數量可以爲空,而int或double不能爲空。 處理這個衝突的一個方法是使用映射
partial關鍵字允許把類、結構、方法或接口放在多個文件中。一般情況下,某種類型的代碼生成器生成了一個類的某部分,所以把類放在多個文件中是有益的。假定要給類添加一些從工具中自動生成的內容。如果重新運行該工具,前面所做的修
雜七雜八——使用LINQ檢索重複值 日常工作的時候,我們經常遇到需要檢索一組數據中是否有重複值的情況,再根據具體情況進行相應的操作。如果不使用LINQ,那我們就得使用一層一層的foreach循環來做,不但麻煩、工作效率低(因爲你得繞啊
WPF感悟(3)——關於向窗體動態添加控件 這是一個很有意思的話題。 首先,雖然在講課的時候,我時常會講到一些關於動態地向窗體中添加控件的例子,但在實際工作中我卻很少用用到要這個技術。一般情況下,控件在窗體上是寫好的,只是根據需要顯示與隱
使用sqlserver + EF + Linq 記錄訪客登錄基本信息 首先建一個sql表,具體記哪些信息就建什麼字段吧,我生成的model如下 public class InfoLog { #region
a. 直接跳轉 默認跳轉後不可返回 Navigation.PushModalAsync(new NewsList()); b. 異步跳轉 默認跳轉後左上角有返回按鈕 private async void Entr
不綁定viewmodel 在說明綁定viewmodel前先說明一下不綁定的情況下是怎麼做的,兩種方式 a. <WebView Source="https://www.baidu.com" x:Name="webView" />
參考地址:https://www.cnblogs.com/devin_zhou/p/9979382.html 參考代碼: public class LoadMoreListView : ListView { private