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.
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.
Kod:
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>");
}
}
}
}