2016-06-26 7 views
-2

こんにちはopenfiledialogで画像ファイルを開き、データベースにアップロードするためにサイズを変更したいので、このコードを手伝ってください。作業のお礼C#Winforms画像のサイズを変更して保存する方法

private void ResizeImg(double scaleFactor, Stream sourcePath, string tragetPath) 
{ 
    using (var image = System.Drawing.Image.FromStream(sourcePath)) 
    { 

     var newWidth = (int)(image.Width * scaleFactor); 
     var newHeight = (int)(image.Height * scaleFactor); 
     var resizingImg = new Bitmap(newWidth, newHeight); 
     var resizeGraph = Graphics.FromImage(resizingImg); 
     resizeGraph.CompositingQuality = CompositingQuality.HighQuality; 
     resizeGraph.SmoothingMode = SmoothingMode.HighQuality; 
     resizeGraph.InterpolationMode = InterpolationMode.HighQualityBicubic; 
     var imageRectangle = new Rectangle(0, 0, newWidth, newHeight); 
     resizeGraph.DrawImage(image, imageRectangle); 
     resizingImg.Save(targetPath, image.RawFormat); 
    } 
} 

答えて

0

ソースとターゲットの矩形を指定しない場合、ストレッチしません。

var srcRectangle = new Rectangle(0, 0, image.Width, image.Height); 
resizeGraph.DrawImage(image, imageRectangle,srcRectangle, GraphicsUnit.Pixel); 

変更

resizeGraph.DrawImage(image, imageRectangle); 

ところで:あなたが読むことができるすべての画像フォーマットを書くことができないため、保存のためにImageFormat.Jpegまたは.PNGを考えてみましょう。

+0

あなたの返信と修正に感謝していますので、今すぐ親切に教えてください。アップロードとOpenfileダイアログのボタンを押してこの機能を呼び出すことができます。私はたくさん試しましたが、 – user2933102

関連する問題