یکی می تواند به کاهش مدت زمان لازم برای پردازش تصویر بیت مپ در سی # با دستی دسترسی به داده های خام تصویر را به عنوان مخالف با استفاده از توابع GetPixel و SetPixel پیش فرض.
سی شارپ همراه با بسیاری از توابع پردازش تصویر ساخته شده است. بالا GDI ساخته شده, GDI به علاوه یک ابزار قدرتمند است. با این حال GDI + محدودیت های آن است. حالا که بیت مپ اسکن تصویر در Csharp بسیار کند است به عنوان مثال، بسیاری از شما توسط متوجه است.
دلیل آن است که آهسته به دلیل عملکرد GetPixel و SetPixel است. هر بار یکی از این توابع به نام، تصویر نقطه ای قفل شده است کلمه در ادامه متن قابل دسترسی/تغییر یافته شده و تصویر نقطه ای قفل شده است. روال تکراری بازکردن قفل است که چه چیزی باعث نوشتن به تصویر در c# .Net آهسته.
پاسخ این است که دستی قفل نقطه دسترسی و یا تغییر بیت ها و سرانجام انتشار تصویر. به این ترتیب هر یک در نوشتن و خواندن عملیات قفل و باز کردن کل تصویر ندارد. شما چقدر این سرعت پردازش توابع تصویر را افزایش می دهد خراشیده شود ممکن است.
C# کد منبع برای قفل کردن یک تصویر نقطه ای اینجا است:
مرزهای مستطیل = جدید مستطیل (نقطه خالی، بیت مپ. اندازه);
اعضای هیات عرض = (هوشمند) (مرزهای. عرض * sizeof (PixelData));
BitmapData bitmapData = تصویر نقطه ای. LockBits (مرزهای، ImageLockMode، PixelFormat. ReadWrite. Format32bppArgb);
بایت * pBase = (بایت *) bitmapData. Scan0. ToPointer ()؛
که در آن PixelData ساختار با متغیر برای هر یک از مقادیر argb رنگ است.
برای دسترسی به پیکسل کد زیر استفاده کنید:
PixelData * pixelData = (PixelData *) (pBase + y * عرض + x * sizeof (PixelData));
فراموش نکنید که هنگامی که شما برای باز کردن تصویر انجام می شود:
تصویر نقطه ای. UnlockBits (bitmapData);
یکی می تواند به کاهش مدت زمان لازم برای پردازش تصویر بیت مپ در سی # با دستی دسترسی به داده های خام تصویر را به عنوان مخالف با استفاده از توابع GetPixel و SetPixel پیش فرض.
سی شارپ همراه با بسیاری از توابع پردازش تصویر ساخته شده است. بالا GDI ساخته شده, GDI به علاوه یک ابزار قدرتمند است. با این حال GDI + محدودیت های آن است. حالا که بیت مپ اسکن تصویر در Csharp بسیار کند است به عنوان مثال، بسیاری از شما توسط متوجه است.
دلیل آن است که آهسته به دلیل عملکرد GetPixel و SetPixel است. هر بار یکی از این توابع به نام، تصویر نقطه ای قفل شده است کلمه در ادامه متن قابل دسترسی/تغییر یافته شده و تصویر نقطه ای قفل شده است. روال تکراری بازکردن قفل است که چه چیزی باعث نوشتن به تصویر در c# .Net آهسته.
پاسخ این است که دستی قفل نقطه دسترسی و یا تغییر بیت ها و سرانجام انتشار تصویر. به این ترتیب هر یک در نوشتن و خواندن عملیات قفل و باز کردن کل تصویر ندارد. شما چقدر این سرعت پردازش توابع تصویر را افزایش می دهد خراشیده شود ممکن است.
C# کد منبع برای قفل کردن یک تصویر نقطه ای اینجا است:
مرزهای مستطیل = جدید مستطیل (نقطه خالی، بیت مپ. اندازه);
اعضای هیات عرض = (هوشمند) (مرزهای. عرض * sizeof (PixelData));
BitmapData bitmapData = تصویر نقطه ای. LockBits (مرزهای، ImageLockMode، PixelFormat. ReadWrite. Format32bppArgb);
بایت * pBase = (بایت *) bitmapData. Scan0. ToPointer ()؛
که در آن PixelData ساختار با متغیر برای هر یک از مقادیر argb رنگ است.
برای دسترسی به پیکسل کد زیر استفاده کنید:
PixelData * pixelData = (PixelData *) (pBase + y * عرض + x * sizeof (PixelData));
فراموش نکنید که هنگامی که شما برای باز کردن تصویر انجام می شود:
تصویر نقطه ای. UnlockBits (bitmapData);