PDA

View Full Version : تبدیل متن به تصویر



meysam_online2012
چهارشنبه 21 اسفند 1392, 23:49 عصر
سلام به همه

می خواستم ببینم میشه یک متنو با یه فونت خاص به عکس تبدیل کرد یا نه؟
فرض کنید داخل یک textbox یک کلمه هست که میخوایم با یک فونت خاص ازش عکس بگیریمو ذخیره کنیم.

ممنون از راهنماییتون

rahnema1
پنج شنبه 22 اسفند 1392, 05:39 صبح
using (Bitmap bm = new Bitmap(textBox1.Width,textBox1.Height))
{
textBox1.DrawToBitmap(bm,textBox1.ClientRectangle) ;
bm.Save("c:\\myfile.png", System.Drawing.Imaging.ImageFormat.Png );
}

meysam_online2012
پنج شنبه 22 اسفند 1392, 14:02 عصر
using (Bitmap bm = new Bitmap(textBox1.Width,textBox1.Height))
{
textBox1.DrawToBitmap(bm,textBox1.ClientRectangle) ;
bm.Save("c:\\myfile.png", System.Drawing.Imaging.ImageFormat.Png );
}


خیلی ممنونم ولی از خط سوم ایراد میگیره
An unhandled exception of type 'System.Runtime.InteropServices.ExternalException' occurred in System.Drawing.dll

rahnema1
پنج شنبه 22 اسفند 1392, 20:09 عصر
غیرا از درایو سی توی یک درایو دیگه ذخیره کنید شاید مشکل ایجاد نشه

meysam_online2012
پنج شنبه 22 اسفند 1392, 20:19 عصر
غیرا از درایو سی توی یک درایو دیگه ذخیره کنید شاید مشکل ایجاد نشه

خیلی ازت ممنونم ببخشید اگه بخوام تو درایو c ذخیره بشه چی کار باید بکنم؟

rahnema1
پنج شنبه 22 اسفند 1392, 20:32 عصر
برنامه را run as administrator کنید شاید درست بشه

meysam_online2012
پنج شنبه 22 اسفند 1392, 21:45 عصر
برنامه را run as administrator کنید شاید درست بشه

بازهم تشکر ببخشید ی سوال دیگه چطور میشه اندازه یه textbox رو به اندازه متن داخلش دراورد یعنی هرچی متن طولانی تر شد اندازه textbox هم بزرگتر بشه

CsharpNevisi
پنج شنبه 22 اسفند 1392, 22:04 عصر
یه عکس با اسم BG.jpg بزار تو پوشه (توضیح : این عکس بگ گراند میباشد و میتونی رنگ دلخواهت مثل سفید رو بزاری ....سایز عکست متناسب با سایز فونتت باشه و با تغییر سایز فونت فرم سایز این فونت نیز تغییر میکند و کلا با فونت فرم کار میکنه ) :
WindowsFormsApplication1\WindowsFormsApplication1\ bin\Debug
بعد از این کد استفاده کن :
Bitmap a = new Bitmap(Application.StartupPath + @"/BG.jpg"); Graphics b = Graphics.FromImage(a);
b.DrawString("متن مورد نظر", this.Font, Brushes.Black, new Point(10, 10));
a.Save(Environment.GetFolderPath(Environment.Speci alFolder.Desktop) + @"\mohsen fathi.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

rahnema1
پنج شنبه 22 اسفند 1392, 22:50 عصر
با این روش به محض اینکه تایپ می کنید اندازه تکست باکس دقیقا به اندازه متن توی اون میشه

float dpi;
void MainFormLoad(object sender, EventArgs e)
{
dpi =72/ textBox1.CreateGraphics().DpiX;
}
void TextBox1TextChanged(object sender, EventArgs e)
{

textBox1.Width =(int)( textBox1.Text.Length* textBox1.Font.SizeInPoints *dpi);
}

meysam_online2012
جمعه 23 اسفند 1392, 12:23 عصر
ممنون دوستان

ببخشید یه سوال دیگه

شما با کامپوننت تلریک photoAlbumViewer کار کردین؟ یه سری سوال داشتم در موردش