View Full Version : تبدیل نقاط سفید به سیاه
HamidVB
سه شنبه 06 مرداد 1383, 18:47 عصر
چگونه می توان با استفاده از SetPixel و GetPixel تمام نقاط سیاه یک تصویر را تبدیل به سفید کرد؟
Voldemort
چهارشنبه 07 مرداد 1383, 06:49 صبح
با استفاده از GetPixel رنگ نقطه رو بدست می یاری و بعد اونو با رنگ سیاه تو RGB مقایسه می کنی. اگه سیاه بود که با استفاده از SetPixel در همون مختصات یه نقطه سفید جایگزین می کنی. اینو تو یه حلقه For تودرتو برای تمام تصویرت قرار می دی. این روش دو اشکال داره:
1- برای تصاویر بزرگ کنده
2-مقایسه اون یه مقایسه مطلقه (برای رفع این مشکل می تونی مقایسه رو بصورت محدوده ای در نظر بگیری)
mahdi_farhani
جمعه 30 مرداد 1383, 02:06 صبح
سلام
آقا این چه کاره شما تصویر مورد نظرتان را داخل یک PictureBox بزار بعد از اون با استفاده از خاصیت Point رنگ مورد نظر خود رو بدست میاری و با دستور Pset هم میتونی رنگ دلخواه خودتو بزاری به این کد نگاه کن.
My_Color=picture1.point (5,10)
picture1.Pset (15,100),Vbred
البته باید توجه داشته باشی که خاصیت Scale mode را روی Pixel قرار بده
و خاصیت AutoRedraw را True کن
موفق باشی :flower:
mahdi_farhani
جمعه 30 مرداد 1383, 02:11 صبح
خوب حالا شما می خواهی تمام نقاط مشکی را به سفید تبدیل کنی
یه چی تو مایه های عمل Masking
شما این کد را به برنامت اضافه کن
for i =0 to picture1.scaleWidth
For j = 0 to picture1.scaleheight
if picture1.point(i,j) = vbblack then
Picture1.pset (i,j),VbWhite
endif
Next j
next i
باز هم تکرار می کنم خاصیت Scale mode حتماً باید روی Pixel قرار بگیرد .
موفق باشی. :flower:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.