PDA

View Full Version : نمایش تصویر از کد هگز



r.khodabakhshi
پنج شنبه 08 خرداد 1393, 11:10 صبح
سلام دوستان همونطور که میدونید در یم تصویر رنگی هر پیکسل از یه کد هگز تشکیل شده که در واقع بیانگر رنگ اون پیکسله، حالا من میخام یه کدی بنویسم که با گرفتن مقدار هگز اونو بصورت تصویر نشون بده. اگه با متلب کار کرده باشید منظورم تابع imshow هست. میخام کد سی شو بنویسم که در واقع مثلا هزار تا کد هگز بگیره و اونو تبدیل کنه به یه عکس 500 در 500
ممنون از راهنماییتون.

rahnema1
پنج شنبه 08 خرداد 1393, 14:28 عصر
این یک نمونه را دانلود کنید:
http://www.sharefile.ir/uploads/1401453456.zip

اصل برنامه ایجاد فایل bmp از این سایت گرفتم :
http://www.runicsoft.com/bmp.cpp
http://tipsandtricks.runicsoft.com/Cpp/BitmapTutorial.html
که مقداری را حذف کردم و یک تغییراتی دادم
بخش مهم برنامه اینجاست:

BYTE* Graypix ( int width, int height )
{

// create new buffer
BYTE* newbuf = new BYTE[width*height*3];

long newpos = 0;
long index = 0;
for ( int y = 0; y < height; y++ )
for ( int x = 0; x < 3 * width; x+=3 )
{
newpos = y * 3 * width + x;

newbuf[newpos] = index*255/(width*height);
newbuf[newpos + 1] =index*255/(width*height) ;
newbuf[newpos + 2] =index*255/(width*height) ;
index++;
}

return newbuf;
}


از اون سه خط اولین اونها مربوط به قرمز دومی سبز و سومی آبی هست اما ما هر سه تا را برابر هم قرار می دهیم تا یک تصویر خاکستری ایجاد بشه حالا شما مقدار پیکسل را می تونید هر مقداری که بخواهید بذارید
فقط یک نکته: برای کامپایلش حتما باید کتابخانه gdi32 را به کامپایلر معرفی کنید