امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 3
  • 1
  • 2
  • 3
  • 4
  • 5
مشكل حركت دادن Image
نویسنده پیام
siamak-s آفلاین
كاربر دو ستاره
**

ارسال‌ها: 127
موضوع‌ها: 29
تاریخ عضویت: دى ۱۳۸۴

تشکرها : 6
( 4 تشکر در 4 ارسال )
ارسال: #1
مشكل حركت دادن Image
سلام دوستان

بعد از مدت ها دوباره اومدم به ايران ويج ، اميدوارم روي منو زمين نندازيد جواب سوالم رو بديد .

مشكلي كه هست اينه كه وقتي يك عنصر Image رو حركتش ميدي و هم زمان سايزش رو هم تغيير ميدي ، در حين حركت عنصر Image شروع مي كنه به چشمك زدن كه اصلا منظره خوبي نداره !
چه راهي است كه من بتونم هم عكسم رو حركت بدم و هم تغيير اندازه بدم (Streach هم وجود داشته باشد) و هم اينكه اين مشكل چشمك زدن را نداشته باشم ؟
كنترلي و API ، چيزي ؟ ممنون ميشم اگر كمك كنيد .

تا شقايق هست زندگي بايد كرد
۰۲-مرداد-۱۳۸۸, ۲۰:۰۵:۳۵
ارسال‌ها
پاسخ
Darg غایب
مدير بازنشسته
*****

ارسال‌ها: 894
موضوع‌ها: 40
تاریخ عضویت: تير ۱۳۸۴

تشکرها : 381
( 702 تشکر در 190 ارسال )
ارسال: #2
RE: مشكل حركت دادن Image
(۰۲-مرداد-۱۳۸۸, ۲۰:۰۵:۳۵)siamak-s نوشته است: ...كنترلي و API ، چيزي ؟...
از ای پی آی BitBlt استفاده کن

کد ضمیمه برای شخصی به نام سیدعلی هست!
گفتم کپی رایتش حفظ شده باشه


فایل‌(های) پیوست شده
.rar   bitblt.rar (اندازه: 21.75 KB / تعداد دفعات دریافت: 69)
۰۳-مرداد-۱۳۸۸, ۰۲:۰۱:۳۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : mojtabamalaekeh, siamak-s, Di Di
siamak-s آفلاین
كاربر دو ستاره
**

ارسال‌ها: 127
موضوع‌ها: 29
تاریخ عضویت: دى ۱۳۸۴

تشکرها : 6
( 4 تشکر در 4 ارسال )
ارسال: #3
RE: مشكل حركت دادن Image
Darg جان برنامه رو گرفتم ، خودم تونسته بودم با StretchBlt درستش كنم ، اما مشكل اين برنامه و برنامه ي خودم اينه كه حتما تصوير Source بايد ديده بشه ، يعني كاربر بتونه ببيندش و روي فرم باشه . و اين خوب نيست !
داشتم تو همين سايت مي گشتم 2 تا برنامه پيدا كردم كه اگر اشتباه نكنم Bitmap رو در درون حافظه Load مي كرد و از حافظه داخل PictureBox با تا bitblt رسم مي كرد . اگر اين كار شدني باشه كه خيلي خوبه ، اما من از اون برنامه ها اصلا سر در نياوردم براتون ميزارم ببينيد سر در مياريد .


فایل‌(های) پیوست شده
.zip   loadbitmap.zip (اندازه: 532.79 KB / تعداد دفعات دریافت: 60)

تا شقايق هست زندگي بايد كرد
۰۳-مرداد-۱۳۸۸, ۱۲:۱۷:۱۳
ارسال‌ها
پاسخ
siamak-s آفلاین
كاربر دو ستاره
**

ارسال‌ها: 127
موضوع‌ها: 29
تاریخ عضویت: دى ۱۳۸۴

تشکرها : 6
( 4 تشکر در 4 ارسال )
ارسال: #4
RE: مشكل حركت دادن Image
راستي مشكل ديگه اي هم كه دارم اينكه كه اگر بخواهم از PictureBox استفاده كنم PictureBox پشت زمينه اش Opaque هست و Transparent نيست ، در صورتي كه در Image پشت زمينه شفاف هست .
براي اين مشكل چه راهي به نظرتون ميرسه !؟

تا شقايق هست زندگي بايد كرد
(آخرین ویرایش در این ارسال: ۰۳-مرداد-۱۳۸۸, ۱۶:۲۲:۲۷، توسط siamak-s.)
۰۳-مرداد-۱۳۸۸, ۱۶:۲۱:۲۶
ارسال‌ها
پاسخ
Darg غایب
مدير بازنشسته
*****

ارسال‌ها: 894
موضوع‌ها: 40
تاریخ عضویت: تير ۱۳۸۴

تشکرها : 381
( 702 تشکر در 190 ارسال )
ارسال: #5
RE: مشكل حركت دادن Image
سلام
با این حساب توسیه می کنم از GDI+ استفاده کنی به جای GDI32
چون همه این امکاناتی رو که می خوای داره
مثلا لود کردن تصویر از فایل یا از کنترل به حافظه و برگردوندن اون
یا خاصیت شفافیت

این یه نمونه کد هست
http://forum.iranled.com/attachment.php?aid=524

روی اینترنت هم بگردی کلی مثال و آموزش هست در این زمنیه
۰۴-مرداد-۱۳۸۸, ۰۰:۲۲:۳۱
وب سایت ارسال‌ها
پاسخ
siamak-s آفلاین
كاربر دو ستاره
**

ارسال‌ها: 127
موضوع‌ها: 29
تاریخ عضویت: دى ۱۳۸۴

تشکرها : 6
( 4 تشکر در 4 ارسال )
ارسال: #6
RE: مشكل حركت دادن Image
Darg جان فكر مي كنم ، چيزي كه شما ميگي درست باشه ، رفتم زدم planet-source-code نزديك 30 تا كد دانلود كردم ، اما همشون خيلي پيچيدن ، و من يه مشكل كوچيك دارم كه يه جوري بايد سر و ته اين قضيه رو تا پس فردا هم بيارم ، نمي تونم از اون كدا سر در بيارم ، مي توني خودت مقدمه اي ، توضيحي ، مرجع فارسي بدي ، يا اينكه يه جوري كمك كني خودم بنويسم . ممنونت ميشم .
من دقيقا يه Picturebox مي خوام كه بتونم Stretch كنم (البته بدون معلوم بودن تصوير Source) و اينكه Transparent هم باشه .
چي كار كنم !

تا شقايق هست زندگي بايد كرد
۰۴-مرداد-۱۳۸۸, ۰۳:۵۷:۰۳
ارسال‌ها
پاسخ
Darg غایب
مدير بازنشسته
*****

ارسال‌ها: 894
موضوع‌ها: 40
تاریخ عضویت: تير ۱۳۸۴

تشکرها : 381
( 702 تشکر در 190 ارسال )
ارسال: #7
RE: مشكل حركت دادن Image
سلام

والا من هم از نظر جزئیات چیزی زیادی نمی دونم درباره GDI+
تا حالا هم هر چقدر روی این زمینه کار کردم از روی تجزیه و تحلیل های کلی خود مثال هاش بوده و از اونجایی که نتیجه که گرفتم خیلی بهتر و با کیفیت تر از GDI32 بوده برای همین الان دیگه اکثر کار های گرافیکیم رو روی GDI+ آوردم

توضیحات و مقاله و منبع مستقیم که ندارم. الان تو این زمان کمی که دارم یه توضیح می دم که چطور شروع به کار کنی با این آی پی آی.

خوب برای کار کردن با توابع GDI+ اول شما باید به نوعی موتور GDI+ رو روی برنامت استارت کنی. و نکته مهم این هست که حتما باید بعد از اتمام کارهات این موتور رو خاموش کنی وگرنه به اصلاح برنامت کرش می کنه و با خطای بدی بسته می شه.
برای استارت کردن GDI+ از ای پی آی GdiplusStartup استفاده می شه که در اون مثال در زیر برنامه StartUpGDIPlus قرار داره.

کد:
Private Declare Function GdiplusStartup Lib "gdiplus" (ByRef token As Long, ByRef lpInput As GDIPlusStartupInput, Optional ByRef lpOutput As Any) As Status

این ای پی آی یک عددی به نام Token بر می گردونه (در اونجا با نام GdipToken تعریف شده) که نقش بسیار مهمی داره. چون در پایان کار زمانی که قراره موتور رو ShutDown کنی به این عدد Token احتیاج پیدا می کنی.
برای ShutDown کردن GDI+ هم باید از ای پی آی زیر استفاده کنی که در مثال نمونه درون زیر برنامه ShutdownGDIPlus مشخصه و همون طور که می بینی به اون عدد Token که در ابتدا گرفته شد برای خاموش کردن احتیاج هست.

کد:
Private Declare Function GdiplusShutdown Lib "gdiplus"(ByVal token As Long) As Status

GDI+ بسیار قدرت منده جالبه که بدونه همه قدرت گرافیک دوبعدی ویندوز ویستا یا ویندوز 7 از همین توابع گرفته شدند. یه مزیت بزرگ اون ها هم این هست که از بیشتر فرمت های گرافیکی پشتیبانی می کنند. مثلا شما نمی تونید تو VB6 از تصاویر PNG استفاده کنی اما با ای پی آی GDI+ این کار ممکن می شه.

توضیح بقیه توابع رو در این لینک می تونی بخونی.

این + + + سه تا مقاله هم فارسی هستند همراه با تصویر و خوب وارد ریز قضایا شدند اما بدیشون این هست که از VB6 مثال نیاورده.

تو این فایل ضمیمه هم سه فایل هست:
فایل gdip.apv بسته اجزاء GDI+ برای برنامه APIViewer که باهاش می تونی خیلی راحت هر تابعی رو بیاری و بررسی کنی.
فایل GDIPlus API.bas که یک ماژول شامل همه ای پی آی های GDI+ که تو وی بی قابل استفاده هستند.
فایل Jpg.bas هم یه نمونه کده که آموزش می ده چطور می شه با GDI+ فرمت یک تصویر رو به قالب JPG تبدیل کرد.

موفق باشی
خدانگه دار


فایل‌(های) پیوست شده
.rar   GDI+All.rar (اندازه: 35.38 KB / تعداد دفعات دریافت: 65)
(آخرین ویرایش در این ارسال: ۰۴-مرداد-۱۳۸۸, ۰۵:۵۳:۲۸، توسط Darg.)
۰۴-مرداد-۱۳۸۸, ۰۵:۳۵:۲۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : siamak-s, CRazYFULL
siamak-s آفلاین
كاربر دو ستاره
**

ارسال‌ها: 127
موضوع‌ها: 29
تاریخ عضویت: دى ۱۳۸۴

تشکرها : 6
( 4 تشکر در 4 ارسال )
ارسال: #8
RE: مشكل حركت دادن Image
Darg جان دستت درد نكنه ، خيلي ممنون ، برم ببينم چي مي كنم !.

تا شقايق هست زندگي بايد كرد
۰۴-مرداد-۱۳۸۸, ۱۰:۳۰:۱۶
ارسال‌ها
پاسخ
siamak-s آفلاین
كاربر دو ستاره
**

ارسال‌ها: 127
موضوع‌ها: 29
تاریخ عضویت: دى ۱۳۸۴

تشکرها : 6
( 4 تشکر در 4 ارسال )
ارسال: #9
RE: مشكل حركت دادن Image
تقريبا ساختارش دستم اومد ، تونستم باهاش كار كنم ، چند تا خط و مستطيل و دايره رسم كردم Biggrin عكسي كه مي خواستم هم تونستم Load كنم ، اما باز نمي تونم زمينه PictureBox رو Transparent كنم .
من دقيقا برنامه اي شبيه Per_Pixel مي خوام كه Up كردم ، تونستم حباب رو Load كنم اما خواستم كه Picturebox رو مانند فرمي كه تو برنامه اصلي هست مخفي كنم نشد .
برنامه ي دوم هم يك برنامه هست كه زمينه PictureBox مخفي هست ، خواستم اين دو تا كد رو تركيب كنم ، اونم نشد .
تقريبا مي خوام 100 تا حباب مثل برنامه Per_Pixel روي فرم داشته باشم كه هر كدوم درون يك PictureBox باشند تا قابليت جابه جابي و Scale ‌داشته باشند .
دارم كچل ميشم 033
برنامه ها رو حتما دانلود كنيد ، خيلي مفيدند ، براي اينكه تاپيك خوبي بشه هر چي پيدا كنم كه فكر كنم به درد بخوره ميزارم ، اما اميدوارم آخر به جواب برسم !
راستي تو لينك زير هم در مورد اين موضوع كلي بحث شده ، من كه به جايي نرسيدم ببينيد شما مي تونيد .
http://www.bigresource.com/VB-Transparen...G4A9U.html
ممنون


فایل‌(های) پیوست شده
.zip   Per_Pixel_177692822004.zip (اندازه: 38.13 KB / تعداد دفعات دریافت: 37)
.zip   TransparentPictureBox.zip (اندازه: 43.5 KB / تعداد دفعات دریافت: 39)

تا شقايق هست زندگي بايد كرد
۰۴-مرداد-۱۳۸۸, ۱۳:۰۷:۳۳
ارسال‌ها
پاسخ
Darg غایب
مدير بازنشسته
*****

ارسال‌ها: 894
موضوع‌ها: 40
تاریخ عضویت: تير ۱۳۸۴

تشکرها : 381
( 702 تشکر در 190 ارسال )
ارسال: #10
RE: مشكل حركت دادن Image
(۰۴-مرداد-۱۳۸۸, ۱۳:۰۷:۳۳)siamak-s نوشته است: ...باز نمي تونم زمينه PictureBox رو Transparent كنم...
سلام علیکم

(دوستان این کنترل که ضمیمه شده رو دانلود نکنید, سورس کامل تری رو یکی از بچه ها پایین آپ کرده)


والا من یک مدت پیش دنبال همیچن چیزی که شما می خوای بیودم !Amaze
و بعد از کلی این در و اون در زدن تو یه فرووم آلمانی پیشداش کردم. اما متاسفانه پولی بود. بعد با نویسندش ارتباط برقرار کردم و تونستم در ازای سورس یک کنترل دیگه ای که خودم نوشتم (این) با اون طرف مبادله کالا به کالا کنمAmaze

بعد الان دو به شک بودم اون کد اون بنده خدا رو بزارم یا نه. این یکی دو روزه باهاش تماس گرفتم گفت "نه!"
منم ازش خواستم لااقل یه نسخه تریال یا با امکانات محدود در اختیارم بزاره.
اون هم این فایل ضمیمه رو فرستاد البته با کد و ازم خواسته فقط کنترل رو در اختیار شما بزارم.
تا اونجایی که خودم دیدم حدود 90 درصد امکاناتش حذف شده, اما همینش هم به کار شما میاد.
توی یه برنامه دیگه (2 خط کد که از خودم هست و خسته نباشم خیلی زحمت کشیدم بابت 4 کلمه تایپ Biggrin) ضمیمش کردم تا بدونی چطور می شه ازش استفاده کرد.
امید وارم به کارتون بیاد

(دوستان این کنترل که ضمیمه شده رو دانلود نکنید, سورس کامل تری رو یکی از بچه ها پایین آپ کرده)


فایل‌(های) پیوست شده
.rar   CTLImage.rar (اندازه: 141.58 KB / تعداد دفعات دریافت: 54)
(آخرین ویرایش در این ارسال: ۰۷-مرداد-۱۳۸۸, ۰۶:۱۰:۳۱، توسط Darg.)
۰۶-مرداد-۱۳۸۸, ۰۴:۵۳:۵۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : CRazYFULL, siamak-s, 1120
siamak-s آفلاین
كاربر دو ستاره
**

ارسال‌ها: 127
موضوع‌ها: 29
تاریخ عضویت: دى ۱۳۸۴

تشکرها : 6
( 4 تشکر در 4 ارسال )
ارسال: #11
RE: مشكل حركت دادن Image
سلام Darg جان

يك در دنيا هزار در آخرت نصيبت باد ، فكر مي كنم دقيقا هموني هست كه مي خوام .
اجمالا يه نگاهي كردم فكر مي كنم همه ي اون چيزايي كه مي خواستم رو داشت ، دستت درد نكنه .
ديشب مادربزرگ من عمرش رو داد به شما ، جدا با ديدن اين برنامه خيلي خوشحالم كردي .
حالا قيمت نسخه اصليش چند هست ؟

تشكر

تا شقايق هست زندگي بايد كرد
۰۷-مرداد-۱۳۸۸, ۰۰:۵۱:۲۶
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  دادن Axis Lable و Legend Entries به جای Data Range eppagh 0 2,088 ۲۷-دى-۱۳۹۳, ۱۴:۵۳:۴۸
آخرین ارسال: eppagh
  [آموزشی] حركت انيميشني فرم هنگام باز و بسته شدن Ghoghnus 1 3,480 ۱۲-فروردین-۱۳۹۳, ۱۸:۰۳:۲۵
آخرین ارسال: mahdi321
  قرار دادن خروجی دستور sql در یک متغیر sepahbod 1 3,971 ۱۶-آذر-۱۳۹۲, ۲۱:۳۳:۳۳
آخرین ارسال: hmiranled
  پیام جهت اطلاع دادن sepahbod 4 4,322 ۱۲-شهریور-۱۳۹۲, ۱۵:۲۹:۵۱
آخرین ارسال: sepahbod
  جمع زدن دو فیلد و قرار دادن در فیلد دیگر در VB6 mohsen0025 7 7,477 ۰۲-شهریور-۱۳۹۲, ۱۱:۵۱:۴۶
آخرین ارسال: mohsen0025
  نحوه قرار دادن فایل فلش و عکس با پسوندpng؟ student-p 10 11,322 ۱۲-دى-۱۳۹۱, ۱۲:۵۱:۱۶
آخرین ارسال: student-p
Exclamation [سوال] برنامه‌‌اي كه روي رايانه‌ي ديگران مشكل دارد. PRO 6 4,745 ۱۳-شهریور-۱۳۹۱, ۱۰:۲۳:۴۳
آخرین ارسال: PRO
  مشكل ذخيره و مقايسه تاريخها به صورت شمسي NabiKAZ 16 17,965 ۲۳-اسفند-۱۳۹۰, ۰۰:۱۵:۳۶
آخرین ارسال: ahoo_tanha2012
  [سوال] مشكل در ذخيره و ذخيره مجدد فايل restles20 9 5,871 ۲۸-آبان-۱۳۹۰, ۱۱:۴۸:۰۹
آخرین ارسال: restles20
  [سوال] مشكل در مرتب سازي جدول naser67 2 3,654 ۰۲-شهریور-۱۳۹۰, ۱۵:۲۳:۳۹
آخرین ارسال: parham2010

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 3 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS