سلام
یه عکس هست که نصف پیکسلهاش transparent هست میخوام اونو و چندتای دیگه که با کمی تفاوت مثل هم هستن رو، روی هم توی background فرم بکشم
یه کد پیدا کردم توی نت که میکشه اما فقط نصفه فرم رو میگیره باقیش نمایش داده نمیشه
این کد
این کد خوبیش اینه که حالت ترنسپرنت حفظ میشه اما کامل نشون نمیده عکس آزمایشی رو پایین گذاشتمکد:Dim gameGraphics As System.Drawing.Graphics = Me.CreateGraphics gameGraphics.DrawImage(PictureBox3.Image, 0, 0, PictureBox3.Image.Width, PictureBox3.Image.Height)
Screenshot 2021-09-12 154940.jpg
من پروژم اینه
یه تصویر رو از وب کم وصل کردم به ویژوال با emgu.cv
تصویر زنده هست و یه دایره سفید هست که توی یک مستطیل مشکی در حال گشت زدن هست. و تصویرش از طریق یه تایمر هر لحظه توی picturebox نشون داده میشه. پس من هر فریم رو دارم
این هم کد نمایش تصویر وب کم توی پیکچرباکس
کد:Imports Emgu.CV Imports Emgu.CV.UI Imports Emgu.CV.Structure Public Class Form1 Dim takepic As New Capture Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick PictureBox1.Image = takepic.QueryFrame.ToBitmap End Sub End Class
اومدم پیکسلهای مشکی تصویرش رو transparent کردم و میخوام تمام فریم هایی که ایجاد میشه (بعد از ترنسپرنت شدن) رو توی form یا picturebox ذخیره کنم به صورتی قسمت ترنسپرنت چاپ نشه و در آخر مجموع دایره ها بشه یه تصویر(امیدوارم واضح گفته باشم)
هر چه سعی کردم با picturebox نتونستم چون با picturebox فقط ترنسپرنت میشه روی پس زمینه و عملا عکس پشتی قابل دیدن نیست. توی فرم همون چیزی که میخواستم شد یعنی چاپ شد و عکس بعدی هم همینطور و فقط دایره ها چاپ شدن ولی طبق عکس آزمایشی کامل چاپ نمیشه
(الته تو پرانتز بگم شاید یه جور دیگه هم بشه نوشتش مثال
هر پیکسلش که سیاه نبود رو توی فرم یا پیکچرباکس بکشه یعنی فقط دایره میمونه!
البته کدش رو نمیدونم
ولی روالش اینه
پیمایش یه تصویر برای پیدا کردن پیکسل های غیر از سیاه
کشیدن هر پیکسل پیدا شده درون یک پیکچرباکس دیگه در همون مختصات)
کسی راه حلی داره؟
Bookmarks