From bb193d07df275e8d5e0071df68f17160468dcedc Mon Sep 17 00:00:00 2001 From: lemingcen Date: Wed, 1 May 2019 20:37:18 +0800 Subject: [PATCH] =?UTF-8?q?PNG=E5=9C=96=E7=89=87=E8=99=95=E7=90=86?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=A4=9A=E9=81=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MainWindow.xaml.cs | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/WorldOfTheThreeKingdomsEditor/MainWindow.xaml.cs b/WorldOfTheThreeKingdomsEditor/MainWindow.xaml.cs index cf2f4f535..938275d1f 100644 --- a/WorldOfTheThreeKingdomsEditor/MainWindow.xaml.cs +++ b/WorldOfTheThreeKingdomsEditor/MainWindow.xaml.cs @@ -362,31 +362,35 @@ private void btnPNGAlpha_Click(object sender, RoutedEventArgs e) OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "待處理圖片 (*.png)|*.png"; openFileDialog.InitialDirectory = @"Content\Textures"; + openFileDialog.Multiselect = true; if (openFileDialog.ShowDialog() == true) { - String filename = openFileDialog.FileName; + var filenames = openFileDialog.FileNames; - using (var img = System.Drawing.Image.FromFile(filename)) + foreach (var filename in filenames) { - var bitmap = new Bitmap(img, img.Width, img.Height); + using (var img = System.Drawing.Image.FromFile(filename)) + { + var bitmap = new Bitmap(img, img.Width, img.Height); - var target = new Bitmap(img.Width, img.Height); + var target = new Bitmap(img.Width, img.Height); - using (Graphics g = Graphics.FromImage(bitmap)) - { - g.DrawImage(target, 0, 0); - for (int h = 0; h < bitmap.Height; h++) + using (Graphics g = Graphics.FromImage(bitmap)) { - for (int w = 0; w < bitmap.Width; w++) + g.DrawImage(target, 0, 0); + for (int h = 0; h < bitmap.Height; h++) { - var color = bitmap.GetPixel(w, h); - color = PremultiplyAlpha(color); - target.SetPixel(w, h, color); + for (int w = 0; w < bitmap.Width; w++) + { + var color = bitmap.GetPixel(w, h); + color = PremultiplyAlpha(color); + target.SetPixel(w, h, color); + } } } - } - target.Save(filename.Replace(".png", "-alpha.png"), System.Drawing.Imaging.ImageFormat.Png); + target.Save(filename.Replace(".png", "-alpha.png"), System.Drawing.Imaging.ImageFormat.Png); + } } MessageBox.Show("PNG圖片PreMultiplied!");