PDA

View Full Version : سوال: مشکل ذخیره متن در Panel



NASA's Spaceman
سه شنبه 30 اردیبهشت 1393, 00:28 صبح
سلام
وقتی که یه عکس و یه متن رو میخوام روی یه Panel ذخیره میکنم عکس ذخیره میشه و متن که یک لیبل هست ذخیره نمیشه
میشه راهنماییم کنین چجوری متن رو روی تصویر بر روی panel ذخیره کنم؟
با سپاس Spaceman

aliagamon
سه شنبه 30 اردیبهشت 1393, 10:50 صبح
شما باید با استفاده از graphics.DrawString روی عکس نوشته رو بنویسین (در همون لحظه ی ذخیره مثلا)

NASA's Spaceman
سه شنبه 30 اردیبهشت 1393, 13:38 عصر
من میخوام کاربر وقتی روی یه دکمه کلیک کرد یه تکست باکس براش بیاد و متنش رو بنویسه و بعد که خواست ذخیره کنه با اون متن تصویر ذخیره بشه
میشه لطفا این چیزی که دارین میگین رو تو یه مثال بهم نشون بدین ممنون میشم اگه اینکار رو بکنین
با سپاس Spaceman

aliagamon
سه شنبه 30 اردیبهشت 1393, 13:48 عصر
خدمت شما

Bitmap bmp =new Bitmap( panel1.BackgroundImage);
RectangleF rectf = new RectangleF(textBox1.Location,textBox1.Size);
Graphics g = Graphics.FromImage(bmp);


g.DrawString(textBox1.Text, new Font("Tahoma", 8), Brushes.Black, rectf);


g.Flush();
textBox1.Visible = false;
panel1.BackgroundImage = bmp;

NASA's Spaceman
چهارشنبه 31 اردیبهشت 1393, 11:11 صبح
دوست عزیز کد رو چک کردم دو تا مشکل داشت
اول اینکه هر کاریش کردم با یه فونت خیلی ریز مینویسه
و مورد دوم اینکه هر جا که تکست باکس هست ذخیره نمیشه و فقط گوشه ی بالا سمت چپ ذخیره میشه
این دو تا مشکل رو داره
ممنون میشم اگه این دو راه حلش رو بهم بگین
با سپاس Spaceman

aliagamon
چهارشنبه 31 اردیبهشت 1393, 11:27 صبح
اگه parent تکست باکس پنل باشه دقیقا جای تکست باکس مینویسه ...و در واقع میاد یه محدوده اندازه ی تکست باکس در مکان تکست باکس درست میکنه و اگه کد رو به این تغییر بدین با همون فونت و اندازه تکست باکس مینویسه :
g.DrawString(textBox1.Text,textBox1.Font, Brushes.Black, rectf);
من خودم حتی شک کردم تو کامپایلر نوشتم درست عمل کرد ....براتون عکس هم گرفتم باور کنین :لبخند:119276

NASA's Spaceman
چهارشنبه 31 اردیبهشت 1393, 11:33 صبح
اگه parent تکست باکس پنل باشه دقیقا جای تکست باکس مینویسه ...
دوست عزیز اینی که گفتی از کجا باید درستش کنم
و لطفا و خواهشا اگه میشه یه دونه پروژه از این بنویس بزار تا من دانلود کنم خیلی ممنونت میشم
با سپاس Spaceman

aliagamon
چهارشنبه 31 اردیبهشت 1393, 11:58 صبح
خدمت شما ...
فونتشو عوض کردم سایز هم بزرگ کردم که باورتون بشه ... :لبخند:
تو انجمن نمیشه ضمیمه کرد چون حجمش 1 مگه ...!!! (فکر کنم عکسه که استفاده کردم سنگین بوده :لبخند:)براتون تو پرشین گیگ اپلود کردم
http://aliagamon.persiangig.com/document/WindowsFormsApplication1.rar/download

NASA's Spaceman
چهارشنبه 31 اردیبهشت 1393, 12:08 عصر
ممنون
:چشمک:
و چجوری میشه اگه background image layout روی stretch باشه و نوشته دقیقا همون جا باشه
اگه خودتون تست کنین وقتی stretch میشه نوشته ریز میشه و بالای تصویر میره
برا این راه حلی هست یا نه؟
با سپاس Spaceman

aliagamon
چهارشنبه 31 اردیبهشت 1393, 12:55 عصر
تو حالت stretch این اون جایی می نویسه که اگه عکس تو حالت عادی بود تکست باکس میوفتاد اونجا (فکر کنم رسوندم منظورو)...
فقط کافیه سایز bitmap رو واقعا اندازه پنل کنین :
Bitmap bmp = new Bitmap(panel1.BackgroundImage,panel1.Size);