Asp.net ile klasör içindeki resimleri boyutlandırma
23 Ekim 2021 / 14:20
Burak
Merhabalar,
Asp.net ile bir klasör içindeki resimleri otomatik olarak boyutlandırmak isterseniz direk aşağıdaki kodları kullanabilirsiniz.
Burdaki dikkat etmeniz gereken noktalar
” int Donusturme = 996″ burdaki 996 oranı ressimin maksiumun genislik boyutudur. Yüksekliği otomatik ayarlamaktadır
“/uploads/siparis/” bu kısmıda siz kendinize göre ayarlamanız gereklidir. Resimler hangi klasörde ise onun adresini yazıcaksınız.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.Configuration; using MySql.Data.MySqlClient; using System.Drawing; using System.Net; using System.IO; using System.Drawing.Imaging; public partial class cron_siparis_resim_boyutlandirici : System.Web.UI.Page { private static ImageCodecInfo TipBilgisi(String mimeType) { int j; ImageCodecInfo[] encoders; encoders = ImageCodecInfo.GetImageEncoders(); for (j = 0; j < encoders.Length; ++j) { if (encoders[j].MimeType == mimeType) return encoders[j]; } return null; } protected void Page_Load(object sender, EventArgs e) { Bitmap myBitmap; ImageCodecInfo myImageCodecInfo; System.Drawing.Imaging.Encoder myEncoder; EncoderParameter myEncoderParameter; EncoderParameters myEncoderParameters; DirectoryInfo di = new DirectoryInfo(Server.MapPath("/uploads/siparis")); FileInfo[] rgFiles = di.GetFiles(); foreach (FileInfo fi in rgFiles) { int Donusturme = 996; //resmin yeni boyutu try { WebClient wc = new WebClient(); byte[] originalData = wc.DownloadData(Server.MapPath("/uploads/siparis/" + fi.Name)); MemoryStream stream = new MemoryStream(originalData); Bitmap bmp = new Bitmap(stream); using (Bitmap OrjinalResim = bmp) { double ResYukseklik = OrjinalResim.Height; double ResGenislik = OrjinalResim.Width; double oran = 0; if (ResGenislik >= Donusturme) { oran = ResGenislik / ResYukseklik; ResGenislik = Donusturme; ResYukseklik = Donusturme / oran; Size yenidegerler = new Size(Convert.ToInt32(ResGenislik), Convert.ToInt32(ResYukseklik)); Bitmap yeniresim = new Bitmap(OrjinalResim, yenidegerler); yeniresim.RotateFlip(RotateFlipType.Rotate90FlipNone); myBitmap = new Bitmap(yeniresim); myImageCodecInfo = TipBilgisi("image/jpeg"); myEncoder = System.Drawing.Imaging.Encoder.Quality; myEncoderParameters = new EncoderParameters(1); // 1L - 100L arasında bir değer ile kapasite ayarını gerçekleştiriyoruz. myEncoderParameter = new EncoderParameter(myEncoder, 70L); myEncoderParameters.Param[0] = myEncoderParameter; yeniresim.Save(Server.MapPath("/uploads/siparis/" + fi.Name), myImageCodecInfo, myEncoderParameters); yeniresim.Dispose(); OrjinalResim.Dispose(); bmp.Dispose(); } } Response.Write(fi.Name + " boyutlandırıldı <br>"); } catch (Exception exp) { Response.Write(fi.Name + " hata :" + exp.Message + "<br>"); } } } } |
Etiketler: Asp.net ile toplu resim boyutlandırma, C# ile klasör içindeki resimler boyutlandırma, C# ile resim boyutlandırma
Bu Yazılarıda Okuyabilirsiniz...
Bir yanıt yazın