ممنون از جواب شما اما من میخواستم رنگ نکته نکته فرم را بدست بیارم و بعدش هدر را اضافه کننم و بعد خودم bmp را بسازم
که با این روش نشد بازم ممنون
شما می توانید از همون روشی که قبلا نوشتم رنگ هر نقطه یا نقاطی رو روی فرم بدست بیاورید، بعد هم جداول
BITMAPFILEHEADER و BITMAPINFOHEADER (یا BITMAP) رو در فایل بنویسید و در انتها داده نقاط بدست آمده رو
هم به فایل اضافه کنید.
دو تا پیشنهاد دارم :
1) یا بعد از ایجاد کردن bitmap از دو حلقه تو در توی for (یکی برای x و یکی برای y) همان تابع ()GetPixel استفاده کنید.
2) یا بعد از ایجاد کردن bitmap کل نقاط رو یکجا داخل یک آرایه انتقال بدهید. برای اینکار هم تابع ()LockBits و پارامتر Scan0
موجود در کلاس Bitmap بکار میره.
فقط یادتون باشه که در تصاویر BMP داده پیکسل ها پایین به بالا درج میشه، نه بالا به پایین. و همچنین طول داده های
هر سطر (بر حسب بایت) باید مضربی از 4 باشه، اگر در چنین نبود باید با اضافه کردن بایت های 0 اضافی مضربی از
4 بشه. یعنی فرضا اگه هر پیکسل 3 بایت RGB باشه و در هر سطر 7 پیکسل داشته باشیم، 3 * 7 بایت میشه 21
که مضربی از 4 نیست، پس در انتهای داده های هر سطر 3 بایت اضافه درج می کنیم تا طول هر سطر بر حسب بایت
24 بشه.
ساده ترین کار اینه که بجای فرمت RGB سه بایتی از RGBA چهار بایتی استفاده کنید، اینطوری هر پیکسل 4 بایت
طول داره و همیشه طول داده های هر سطر مضربی از 4 خواهد بود و نیازی به هیچ بایت اضافی نیست.