View Full Version : سوال: کمک فوری : ایجاد و نمایش یک Imgae بدون ذخیره در هاست !!!
si6arp
شنبه 04 دی 1389, 10:47 صبح
با سلام
فرض میکنم که کاربر میاد و در یک تکس باکس مقادری رشته ای وارد میکنه و میخواد ایم مقادیر به یک عکس تبدیل بشه (تبدیل ایمیل به عکس)
1 - نیاز به ایجاد عکس با Width اتوماتیک ( بنا به مقدار حروفی که کاربر نوشته است )
2 - نیاز به یک هندار برای ایجاد عکس بدون ذخیره فایل در هاست ( جلوگیری از اشغال فضای هاست ) مثال :
http://www.mydomain.com/ThumbHandler.ashx?Email=1@1.com
3 - نمایش عکس ایجاد شده توسط هندلر در یک صفحه جدا گانه :
مثال : http://www.mydomain.com/ThumbHandler.ashx?Email=1@1.com
اگه میشه من رو راهنمایی کنید چه کار کنم !!!! :متفکر:
(پیشاپیش از راهنمایی شما دوست عزیز تشکر میکنم)
aminghaderi
شنبه 04 دی 1389, 19:54 عصر
1- برای ارسال ایمیل از عکس استفاده نکنید ، چون مشکلاتی از قبیل اسپم شدن ان توسط سروریس دهنده های میل مثل yahoo می شه و همچنین show image اون ها معمولا of هستش و بعضی از کاربر ها نمی دونند که باید on کنند و...
2- خوب شما به اندازه یه فایل تصویر که در هاستت فضا داری دیگه؟؟؟؟
خوب شما تصویرت رو بساز داخل هاست ذخیره کن و. بعد نمایش یا ارسال نامه ، تصویر رو حذفش کن.
موفق باشی.
si6arp
شنبه 04 دی 1389, 20:12 عصر
نه داداش . قرار نیست این عکس رو ایمیل کنم. قرار ایمیل رو تبدیل به عکس کنم. حالا ایمیل یا هر نوشته دیگه
ممنون از جوابیت و لی راحش رو پیدا کردم.
aminghaderi
شنبه 04 دی 1389, 20:21 عصر
و لی راحش رو پیدا کردم.
خوشحال می شیم اطلاعاتت رو به ما هم انتقال بدی و بفرمایید که این راه که می گید ، چگونه است؟؟؟
si6arp
شنبه 04 دی 1389, 21:32 عصر
به کمک ساخت یک تابع :
در این تابع اندازه عکس به صورت اتوماتیک نسبت به اندازه متن نوشته شده تنظیم میشه
private static Bitmap CreateImage(string sImageText)
{
Bitmap bmpImage = new Bitmap(1, 1);
int iWidth = 0;
int iHeight = 0;
Font MyFont = new Font("FontName", "FontSize", System.Drawing.GraphicsUnit.Point);
Graphics MyGraphics = Graphics.FromImage(bmpImage);
iWidth = (int)MyGraphics.MeasureString(sImageText, MyFont).Width;
iHeight = (int)MyGraphics.MeasureString(sImageText, MyFont).Height;
bmpImage = new Bitmap(bmpImage, new Size(iWidth, iHeight));
MyGraphics = Graphics.FromImage(bmpImage);
MyGraphics.Clear(BackGroundColor);
MyGraphics.TextRenderingHint = TextRenderingHint.AntiAlias;
MyGraphics.DrawString(sImageText, MyFont, new SolidBrush("FontColor"), 0, 0);
MyGraphics.Flush();
return (bmpImage);
}
بعد هرجا خواستین استفاده کنید این تابع رو صدا بزنید :
Response.ContentType = "image/gif";
CreateImage(MyText).Save(Response.OutputStream,
System.Drawing.Imaging.ImageFormat.Gif);
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.