本文共 1008 字,大约阅读时间需要 3 分钟。
最近一直在关注Magick++的使用,在官方论坛里看到了一些比较实际的问题。特记录于此。
转自 http://www.imagemagick.org/discourse-server/viewtopic.php?f=2&t=16625
是一些参考性的代码,有助于深入理解Magick++
int _tmain(int argc, _TCHAR* argv[]) { Geometry g(800, 533); Image theI; FILE* fh; float *floatPixelMap; try { theI.read(g, "./bluejay.jpg"); int height = theI.rows(); int width = theI.columns(); int size = height * width * 4; PixelPacket* myMap = theI.getPixels(0, 0, width, height); floatPixelMap = new float[size]; for (int counter = 0, k=0; counter < size; counter++, ++k) { floatPixelMap[counter++] = (float)myMap[k].red / 255.0f; floatPixelMap[counter++] = (float)myMap[k].green / 255.0f; floatPixelMap[counter++] = (float)myMap[k].blue / 255.0f; floatPixelMap[counter] = (float)myMap[k].opacity / 255.0f; }//end for loop fh = fopen("./bluejay32float.procd.rgba", "wb"); fwrite((void *)floatPixelMap, sizeof(float), size, fh); }//end try block catch(Exception& ex) { cout << "imagicktstr,error," << ex.what() << endl; }//end catch block return 0; }//end main
转载地址:http://zagmb.baihongyu.com/