فوري و مهم !! چه جوري ميشه تو vb فرم رو اندازه ي شكل عكس كرد درواقع قسمت هاي اضافي آن را بريد.
Printable View
فوري و مهم !! چه جوري ميشه تو vb فرم رو اندازه ي شكل عكس كرد درواقع قسمت هاي اضافي آن را بريد.
دوست عزيز من يك پروژه مثال دارم اگه مي خواي ميل بزار بدم برات..
چه جوری میشه فورم را اندازه یک عکس کرد و دور آن را برید. :) :)
براي اين كار 3 تا مثال داشتم كه براتون آپلود كردم لينك هاشون رو ميزارم:
کد:http://www.reza-s.persiangig.com/other/form vb/FORMRGN.ZIP
کد:http://www.reza-s.persiangig.com/other/form vb/customformshape.zip
راستي مطلب زير رو هم خيلي وقت پيش از يك جايي پيدا كرده بودم ولي منبعش رو الان نمي دونم(خودم امتحان نكردم)کد:http://www.reza-s.persiangig.com/other/form vb/form_individual.zip
نقل قول:
فرض کنيد يک image غير مستطيلي داريد که مي خواهيد از آن بعنوان فرم برنامه تان استفاده کنيد
۱ - تصوير فرم مورد نظرتان را طراحي کرده و با فرمت bmp ذخيره کنيد . دقت نماييد که بايستي image خود را درون يک کادر مستطيلي قرار دهيد که با يک رنگ با RGB مشخص رنگ آميزي شده است :
۲ - يک فرم ويژوال بيسيک ايجاد کنيد و خاصيت BorderStyle آنرا صفر نماييد .
3 - در متد Form Load بايستي image مورد نظر را به فرمتان assign کنيد :
Me.picture=loadpicture(yourimagename)x
Me.width=Me.picture.width
Me.height=Me.picture.height
4 - سپس بايستي يک ناحيه از اين image بسازيد که نسبت به رنگ RGB اي که در بالا به آن اشاره کردم transparent باشد . اگر فرض کنيم اين رنگ ، رنگ سياه باشد ( r=0 , g=0, b=0 ) :
LRegion=MakeRgn(yourimagename,0,0,0)x
5 - حال بايستي ناحيه مشخص شده را بعنوان فرم برنامه تان قرار دهيد :
call SetWindowRgn(Me.hwnd,LRegion,True)x
6 - يک ماژوال ايجاد کنيد و خطوط زير را در آن بنويسيد :
Public Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Public Declare Function MakeRgn Lib "Region.dll" (ByVal FileName As String, ByVal R As Integer, ByVal g As Integer, ByVal b As Integer) As Long
Public Declare Function DeleteRgn Lib "Region.dll" (ByVal Region As Long)x
Global lRegion As Long
7 - در متد Form Unload عبارت زير را قرار دهيد :
Call DeleteRgn(LRegion)x
نکته ۱: بوسيله روتين زير مي توانيد فرم خود را در وسط صفحه قرار دهيد :
Sub CenterForm(frm As Form)
frm.Left = (Screen.Width - frm.Width) / 2
frm.Top = (Screen.Height - frm.Height) / 2
End Sub
اگه به ايميلم بفرستي ممنونت ميشم
اين منظورم نبود
يك بار ديگه ميگم
ميخوام كه اگر بقلاي عكسم سفيد است يا اگه مثلآ اون عكسم يك آيكن بقلاش ديده نشه
نمي دونم منظورم رو تونستم بگم يا نه
ميخوام فورمم رو ببرم ميخوام كه اگر بقلاي عكسم سفيد است يا اگه مثلآ اون عكسم يك آيكن بقلاش ديده نشه
همون پست بالا رو ويرايش كردم . فكر كنم مشكل ديگه حله.
بايد عكس تو فتوشاپ درست كني
با عصايه جادويي دوره عكسه تا انتخاب كن بعد پاكش كن و عكس را ذخيره كن
محض اطلاعوتون عرض کنم این جا انجمن ویژوال بیسیک هست نه فوتوشاپ.نقل قول:
نوشته شده توسط hippo
ميگه...
فايل Region.dl not found
همین فایل رو از نت بگیر بذار تو سیستم32
من مدتی با Open GL در وی بی کار کرده ام
اما به خاطر کمبود منابع نتوانستم ادامه بدهم -
کسی هست در این زمینه کمک کم باشد
---- فقط بگم آخر سه بعدی سازی و بازی سازی در vb است - میگی نه امتحان کن -
---- به هر حال من در خدمتم !
اقا من ocx ان را ساختا ام
امکانات
--برش تصاویر به هر شکل
بالا یا پایین کردن alpha فرم یا تصویر به هر اندازه
توضیح : با کم یا زیاد کردن آلفا می توانید پشت فرم را ببینید
- ترکیبی از هر دو
- قابلیت حذف هر نوع رنگی که دوست داشتید
- اجرای آسان
متد های آن مثلا
transparent color
transparent = true or false
opacity = true or false
opacity value = 0 to 255
, ....
------
اقا من در خدمتم - یه ندایی بدید !
خوب بزارش تا ما دانلودش كنيم
لطفآ برنامه Ocx رو بزار
ممنونم
خوب براتون يك مثال هم از فرم شيشه اي آپلود كردم مي تونيد از لينك زير بگيريد:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
دوست عزيز اصل مطلب
: تابع
setwindowlayerdattribute هست
سلام خدمت عزيزان
مي خواستم بهم بگين چطور مي شه از كل فرم پرينت گرفت آخه
فرم بزرگه و ميله هاي كناري پنجره ها در مد ويرايش كار نمي كنند
و فقط قسمتي از فرم پرينت مي شه... يا برنامه اي نيست كه فرم رئ
به عكس تبديم كنه؟؟
ممنون
ايميل : [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]