PDA

View Full Version : کوچک سازی عکس ها با نسبت یکسان



nazaninam
یک شنبه 09 بهمن 1384, 11:01 صبح
سلام من یک گالری تصوری دارم و یک سری عکس که هر کدوم سایز های مختلف دارن می خوام همه عکس به نسبت خودشون کوچک بشن مثل سایت gazzag که هر عکسی هم بگذاریم به نسبت خود عکس کوچکش می کنه لطفا راهنمایی کنید

JikSearch
دوشنبه 10 بهمن 1384, 08:51 صبح
فکر می کنم با مثال زیر همه چیز مشخص باشد با فرض اینکه طول یا عرض حداکثر 110 باشد و نسبت طول و عرض حفظ شود (همین رو می خواستید؟)


System.Drawing.Image thumb = System.Drawing.Image.FromFile(strPath);
int w = thumb.Width;
int h = (110*thumb.Height)/w;
if (h>111)
{
w = (110*thumb.Width)/thumb.Height;
thumb = thumb.GetThumbnailImage(w,110,new System.Drawing.Image.GetThumbnailImageAbort(Thumbn ailCallback),IntPtr.Zero);
}
else
thumb = thumb.GetThumbnailImage(110,h,new System.Drawing.Image.GetThumbnailImageAbort(Thumbn ailCallback),IntPtr.Zero);

night11
دوشنبه 12 تیر 1385, 20:45 عصر
سلام
مشکلی که من دارم اینه که نمی تونم از این استفاده کنم

ببینید من عکس ها مو اینطوری توی یه دیتا لیست نشون می دوم
حالا برای کوچک سازی با استفاده از روش بالا مشکل دارم



DirectoryInfo di = new DirectoryInfo(Server.MapPath("photo"));
FileInfo[] fileinfos = di.GetFiles("*.jpg");
DataList2.DataSource = fileinfos;
DataList2.DataBind();


ممنون می شم راهنمایی کنید

white fox
سه شنبه 13 تیر 1385, 01:07 صبح
خوب وقتی دیتا لیست رو بایند میکنید حتما یک کنترل Image در دیتالیست خودتون دارید در خاصیت ItemDatabound دیتالیستون همچین کدی بنویسید.


dim img as image = ctype(e.findcontrol("Image1"), image)

اینطوری به اون عکس اشاره میکنید برای عوض کردن اندازه هم که از کدی که دوستمون گذاشتن استفاده کنید.

night11
سه شنبه 13 تیر 1385, 12:16 عصر
بله من یه کنترل Image دارم و عکس ها رو می تونم نمایش بدم به این صورت



<img align="middle" src='<%# Eval("FullName") %>' />


ولی مشکل اینجاست نمی دونم عکس ها رو چطوری به این کد بدم که کوچک بشه و دوباره توی دیتا لیست نمایش بدم

night11
پنج شنبه 15 تیر 1385, 13:47 عصر
کسی نمی تونه بیشتر راهنمایی کنه ؟

eshaghi
سه شنبه 25 مهر 1385, 11:15 صبح
heait=110px wieth=110 px<img align="middle" src='<%# Eval("FullName") %>' />

iekrang
دوشنبه 15 آبان 1385, 14:26 عصر
فکر می کنم با مثال زیر همه چیز مشخص باشد با فرض اینکه طول یا عرض حداکثر 110 باشد و نسبت طول و عرض حفظ شود (همین رو می خواستید؟)


System.Drawing.Image thumb = System.Drawing.Image.FromFile(strPath);
int w = thumb.Width;
int h = (110*thumb.Height)/w;
if (h>111)
{
w = (110*thumb.Width)/thumb.Height;
thumb = thumb.GetThumbnailImage(w,110,new System.Drawing.Image.GetThumbnailImageAbort(Thumbn ailCallback),IntPtr.Zero);
}
else
thumb = thumb.GetThumbnailImage(110,h,new System.Drawing.Image.GetThumbnailImageAbort(Thumbn ailCallback),IntPtr.Zero);
کسی میدونه چطور میتونم thumb رو توی یک تگ img نمایش بدم؟
هرچی مینویسم ایراد میگیره:اشتباه:
مرسی

nazaninam
دوشنبه 15 آبان 1385, 23:28 عصر
بله من در انتهای این مقاله توضیح دادم :
http://how2learnasp.net/article.aspx?code=37d01551-0901-418b-8f81-9a2043413a53