PDA

View Full Version : سوال: اضافه کردن یک متن یا تصویر به یک تصویر در ویژوال بیسیک



alibehroozi
یک شنبه 29 دی 1392, 10:40 صبح
سلام دوستان

یک عکس دارم که میخواهم در یک مختصات خاص یک عکس رو بهش اضافه کنه
مثلا یک عکس آدمی دارم میخواهم یک عکس عینکی رو بهش اضافه کنم ( مثلا )
امیدوارم رسونده باشم

کمک کنید

ممنون

محسن واژدی
یک شنبه 29 دی 1392, 12:17 عصر
سلام علیکم

برای چاپ متن:
'print a text in the custom position
With Picture1
.ScaleMode = 3
.FontBold = True
.FontName = "Tahoma"
.ScaleLeft = -100
.ScaleTop = -100
.Cls
Picture1.Print "SAMPLE TEXT";
End With


و تصویر:
With Picture1
'load picture in the custom position
.PaintPicture LoadPicture("C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Sunset.jpg"), 100, 100, 200, 200
End With

موفق باشید

alibehroozi
یک شنبه 29 دی 1392, 13:48 عصر
سلام

متاسفانه چیزی که گفتید توی تمام رویداد ها کار نمیکنه
فقط توی رویداد های picture1 کار میکنه
مثلا توی form1_load کار نمیکنه

ممنون میشم توضیح بدید

محسن واژدی
یک شنبه 29 دی 1392, 18:49 عصر
سلام

متاسفانه چیزی که گفتید توی تمام رویداد ها کار نمیکنه
فقط توی رویداد های picture1 کار میکنه
مثلا توی form1_load کار نمیکنه

ممنون میشم توضیح بدید
چرا این توابع با توابع رسم تصویر و چاپ متن روی فرم یکی هستن

محمد فدوی
یک شنبه 29 دی 1392, 23:52 عصر
مثلا توی form1_load کار نمیکنه


روتین Form_Load قبل از ترسیم فرم فراخوانی میشه و انجام هرکار گرافیکی قبل از ترسیم فرم بی نتیجست، درست مثل این کد که بی نتیجست:

Private Sub Form_Load()
Me.Line (10, 10)-(1000,1000), vbBlack
End Sub

یکی از راه حل هاش استفاده از روتین Form_Paint میتونه باشه:

Private Sub Form_Paint()
Me.Line (10, 10)-(1000,1000), vbBlack
End Sub

موفق باشید

alibehroozi
دوشنبه 30 دی 1392, 20:49 عصر
سلام

من الآن یک عکس توی درایو C دارم و یک عکس توی Picturebox
حالا میخواهم عکس توی Picturebox رو در نقطه x,y اضافه به عکس توی درایو و اونو چاپ کنه
آخه اون عکس که دارم توی درایو سی رزولیشنش 300 هست اما توی Picturebox ام 72 هست با هم نمیخونه کیفیت میاد پایین
در کل میخواهم بدون نمایش تصویر در فرم و چاپ فرم مستقیما این کارو بکنم

ممنون میشم کمک کنید

program2vb
دوشنبه 30 دی 1392, 22:53 عصر
سلام ;

شما میخواین در واقع یه چیزی رو چاپ کنین ؟ آیا منظورتون اینه .

اگه منظورتون این باشه میتونین با استفاده از کنترل web این کارو انجام بدین یعنی از صفحه HTML پرینت بگیرین

موفق و پیروز باشید در پناه خدا . یاعلی

محسن واژدی
سه شنبه 01 بهمن 1392, 20:58 عصر
روتین Form_Load قبل از ترسیم فرم فراخوانی میشه و انجام هرکار گرافیکی قبل از ترسیم فرم بی نتیجست، درست مثل این کد که بی نتیجست:

Private Sub Form_Load()
Me.Line (10, 10)-(1000,1000), vbBlack
End Sub

یکی از راه حل هاش استفاده از روتین Form_Paint میتونه باشه:

Private Sub Form_Paint()
Me.Line (10, 10)-(1000,1000), vbBlack
End Sub

موفق باشید
برای نمایش نتیجه در Form_Load خاصیت AutoRedraw را True کنید

محمد فدوی
چهارشنبه 02 بهمن 1392, 21:28 عصر
این کار حجم پردازشی رو خیلی زیاد نمیکنه به نظر شما؟!

محسن واژدی
چهارشنبه 02 بهمن 1392, 23:44 عصر
این کار حجم پردازشی رو خیلی زیاد نمیکنه به نظر شما؟!
بسته به حجم و تعداد پردازش ها داره وگرنه پردازش برای یکمرتبه تاثیر چندانی ندارد