View Full Version : کاراکتر لاندا در canvas دلفی
صابر طهماسبی
جمعه 03 اردیبهشت 1389, 16:25 عصر
سلام
من از دلفی7 استفاده می کنم کسی می دونه چطور میشه از کاراکتر های خاص توی canvas دلفی و کلا توی دلفی استفاده کرد و اونا رو نمایش داد؟
مثلا من می خوام توی canvas با تابع textout کاراکتر لاندا λ را چاپ کنم.
vcldeveloper
شنبه 04 اردیبهشت 1389, 03:59 صبح
توی دلفی 7 Canvas از یونیکد پشتیبانی نمیکنه. البته شاید اگر از کامپوننت های TNT استفاده کنید، کنترل های آنها (مثل فرم های TNT) دارای Canvas یونیکد هم باشند. در اون صورت، می تونید با درج کارکتر یونیکد مربوطه، آن را به درستی رسم کنید.
در غیر این صورت، می تونید دنبال فونتی بگردید که این کارکتر را در خودش داشته باشه، و از اون فونت به عنوان فونت Canvas استفاده کنید.
به طور کلی همچین مشکلاتی در دلفی های 2009 و 2010 که یونیکد هستند، وجود نداره.
Zahed2008
شنبه 04 اردیبهشت 1389, 12:11 عصر
سلام دوست عزیز، من خودم یه بار از Image برای این مشکل استفاده کردم.
مصطفی ساتکی
شنبه 04 اردیبهشت 1389, 13:08 عصر
این حرف از شما بعید آقای کشاورز
توی دلفی 7 Canvas از یونیکد پشتیبانی نمیکنه.فرم چیزی جز منابع ویندوز و DCهم متلق به فرمه.Canvas دلفی فقط یه Encapsulate محدود از توانایی API روی DC.
در غیر این صورت، می تونید دنبال فونتی بگردید که این کارکتر را در خودش داشته باشه، و از اون فونت به عنوان فونت Canvas استفاده کنیدنیاز به این کار نیست بجای او از DrawTextW استفاده کنید که Unicode رو هم واستون رسم می کنه
صابر طهماسبی
شنبه 04 اردیبهشت 1389, 13:33 عصر
بجای او از DrawTextW استفاده کنید که Unicode رو هم واستون رسم می کنه
از توجه شما سپاسگزارم
اما در Canvas دستوری به نام DrawTextW نداریم!
یعنی من ندیدم کد من به شکل زیره :
procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Canvas.TextOut(50,50,'λ');
end;
صابر طهماسبی
شنبه 04 اردیبهشت 1389, 13:42 عصر
با تشکر از توجه همه ی دوستان فرمایش آقای کشاورز کاملا صحیح بود از فونت Symbol استفاده کردم حل شد
این هم کد:
procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Canvas.Font.Name:='Symbol';
Image1.Canvas.Font.Size:=20;
Image1.Canvas.TextOut(50,50,Edit1.Text);
end;
کاراکتر لاندا هم که مورد نظر من بود معادل حرف L کیبورد است.
مصطفی ساتکی
شنبه 04 اردیبهشت 1389, 18:15 عصر
اینقدر برای شما فک می زنم آخر میگی حرف فلانی درسته.دقت نمی کنی .می گم تابع API.
DrawTextW سپس Canvas.handle می فرستی و Widechar و بقیه اطلاعاتو
صابر طهماسبی
یک شنبه 05 اردیبهشت 1389, 06:06 صبح
اینقدر برای شما فک می زنم آخر میگی حرف فلانی درسته.دقت نمی کنی .می گم تابع API.
DrawTextW سپس Canvas.handle می فرستی و Widechar و بقیه اطلاعاتو
از راهنمایی شما بسیار سپاسگزارم
دوست گرامی اشکال از سطح علمی بنده است.
تایید روش آقای کشاورز به معنای رد روش شما نیست اما چون بنده با win32 کار نکردم روش حرفه ای شما را نمی توانم پیاده کنم از روش ایشان استفاده کردم.
در ضمن الان دلفی 2009 نصب کردم و بدون نیاز به هیچ کار خاصی مشکل رفع شد.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.