View Full Version : سوال: خواندن و نوشتن عكس به صورت بيتي
mahdi bg
یک شنبه 13 تیر 1389, 20:15 عصر
سلام
چطوري مي تونم محتويات يك فايل عكس رو بصورت بيتي بخونم - پيكسل به پيكسل
(مثلا اگر عكس 256 رنگ داشته باشه - تعداد بيت هاي هر پيكسل برابر 8 تا ميشه)
حالا فرض كنيم اين 8 بيت رو تغيير دادم و مي خوام دوباره توي يك فايل ديگه بنويسم بايد چكار كنم.
ممنون
codelover
یک شنبه 13 تیر 1389, 21:14 عصر
سلام
اول یه نمونه از کلاس bitmap بساز
Bitmap pic = new Bitmap(@"D:\picture.bmp");
بعد این جوری پیکسل ها شو بخون
int red =pic.GetPixel(x,y).R;
int green =pic.GetPixel(x,y).G;
int blue =pic.GetPixel(x,y).B;
بعد این جوری پیکسل ها شو بنویس
pic.SetPixel(x,y,color);
بعد که کارت تموم شد اینجوری Saveکن
pic.save(@"D:\picture.bmp");
هر جاشو نفهمیدی بگو تا توضیح بدم
mahdi bg
یک شنبه 13 تیر 1389, 21:27 عصر
سلام
من مي خو.استم بصورت بيتي بخونم؟
مثلا پيكسل هام 256 تا رنگ ممكنه داشته باشن(0-255) مي خوام اونو به صورت بيتي (مثلا0101010 ) بخونم
و بعدش بيت سومش رو از 0 تغيير بدم به 1 و دوباره ذخيره كنم.
نه بصورت عددي
واسه اين كار بايد چكار كنم
codelover
یک شنبه 13 تیر 1389, 21:46 عصر
سلام
من مي خو.استم بصورت بيتي بخونم؟
مثلا پيكسل هام 256 تا رنگ ممكنه داشته باشن(0-255) مي خوام اونو به صورت بيتي (مثلا0101010 ) بخونم
و بعدش بيت سومش رو از 0 تغيير بدم به 1 و دوباره ذخيره كنم.
نه بصورت عددي
واسه اين كار بايد چكار كنم
کاری نداره همون عدد های رو که رو پست قبلی گفتم و از پیکسل گرفتی رو به دودویی تبدیل کن
و بعد با استفاده از شیفت بیتی >> یا << هر بیتی رو که می خوای عوض کن و بعد دوباره ذخیره کن
البته با استفاده از and هم میتونی
مثال
01011
00100
که وقتی با هم and بشن بیت سومش ست میشه 01111
درست شد ؟
alirat
دوشنبه 14 تیر 1389, 03:33 صبح
کاری نداره همون عدد های رو که رو پست قبلی گفتم و از پیکسل گرفتی رو به دودویی تبدیل کن
و بعد با استفاده از شیفت بیتی >> یا << هر بیتی رو که می خوای عوض کن و بعد دوباره ذخیره کن
البته با استفاده از and هم میتونی
مثال
01011
00100
که وقتی با هم and بشن بیت سومش ست میشه 01111
درست شد ؟
merc in tozihati ke dadi kheili vazeh va roshane dastet dard nakone:لبخند:
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.