PDA

نسخه کامل مشاهده نسخه کامل : مشکل در پیدا کردن رنگ یک پکسل



CHAPTER
13-10-2010, 18:40
سلام به همه دوستان
من با کمک متد SetPixel یک سری اشکال گرافیکی با رنگهای مختلف روی فرم ایجاد می کنم اما نمی دونم چرا
وقتی از متد GetPixel استفاده می کنم همیشه مقدار صفر بر می گردونه
حتی اومدم با دوتا حلقه تو در تو تمام پیکسلهای فرم رو بررسی کردم انگار اصلا رنگ هیچ پیکسلی رو تشخیص نمی ده
نمی دونم دلیلش چیه؟

عــــلی
13-10-2010, 23:28
سلام.
دلیلش اینه که شما اونا رو جایی ذخیره نکردین.
باید یک Bitmap بسازید و گرافیک خودتونو توی اون ترسیم کنید سپس از متد GetPix استفاده کنید.
اون روشی هم که شما استفاده کردید با یک Refresh فرم پاک میشه.
موفق باشید.

CHAPTER
14-10-2010, 00:11
من از همون کدی که شما اصلاح کرده بودید برای رسم استفاده می کنم


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

منظورتون ایته که یه فایل عکس باید ایجاد کنم

عــــلی
14-10-2010, 00:33
درسته شما باید پیکسل ها رو از myBitmap بخونید.

CHAPTER
14-10-2010, 12:32
ولی نمیشه
من یه خط با کد قبلی روی فرمم که یک گراندش رو سفید کرده بودم رسم می کنم
حتی یه عکس به عنوان بک گراند گذاشتم ولی وقتی پیکسلها رو چک می کنم همیشه مقدار 0 بر می گردونه

mahdi7s
14-10-2010, 23:18
من دقیق نمی دانم مشکلتان چیست ولی حدس می زنم مشکلتان با کد زیر حل شود:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

قبل از اینکه بخواهید پیکسل ها را بخوانید یا تغییر دهید آنها را Lock کنید تا در حافظه رم قفل شوند
بیشتر ->
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

امیدوارم کمکتان کند

CHAPTER
15-10-2010, 09:23
ممنون ولی اررور میده
Bitmap region is already locked

راستی مسئله اینه که میام با یه الگوریتمی یه مستطیل روی فرمم با استفاده از SetPixel رسم می کنم
حالا می خوام داخل این مستطیل رو با الگوریتم Flood Fill رنگ کنم . برای همین نیاز دارم مرز مستطیل رسم شده رو روی فرمم پیدا کنم
برای اینکار از GetPixel استفاده میشه. اما وقتی جستجو می کنم همیشه مقدار صفر بر می گردونه ، حتی یه عکس به عنوان بک گراند گذاشتم بازم نشد، رنگ بک گرااند رو عوض کردم نشد
به نظرم چون این شکل رسم شده موقتی هست نمی تونه پیکسلی رو تشخیص بده
خودم هم مودم ، :(

عــــلی
15-10-2010, 17:51
سلام.

به نظرم چون این شکل رسم شده موقتی هست نمی تونه پیکسلی رو تشخیص بده
مگه اینکه خودتون موقتی کرده باشین.
لطفاً کدتون رو بذارید.
با تشکر.

CHAPTER
16-10-2010, 18:05
از همون کد مربوط به ترسیم خط استفاده می کنم برای رسم یه چهار ضلعی استفاده می کنم
ولی مشکلم تو رنگ کردنش هست ، برای رنگ کردن از این تابع استفاده می کنم


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

که اصلا کار نمی کنه چون رنگ پیکسل های شکلی که رسم کردم رو تشخیص نمی ده

CHAPTER
21-10-2010, 21:07
دوستان مشکلم حل شد
شرط رو به این صورت نوشتم

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و کار می کنه فقط این خطا رو میده

An unhandled exception of type 'System.StackOverflowException' occurred in System.Windows.Forms.dll


برای رفعش چیکار کنم