[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[MD:2916]ImageMagick stub memo



北口さんへのメモ

(1) するべきこと

ImageMagickによって、imageをCreateDIBSectionが解釈可能な
BITMAPINFO + BITMAPDATAに展開する。

(2) 大まかな流れ

CloneImageInfo -> ReadImage(in file) or BlobToImage(in memory)
               -> GetImagePixels -> GetPixels
               -> DestroyImageInfo -> DestroyImage

(3) 最低限setしなくてはならないmember

img->height
img->width
img->mw32_img.pbmpinfo (RGBQUADが含まれることに注意)
img->mw32_img.size     (pbmpdataのサイズ)
img->mw32_img.pbmpdata (bitmapのデータ)

(4) 色についての注意

Image.total_colorsが、0xFFFFより大きい場合、RGBQUADは作らず、
full colorで処理。 0xFFFFより小さい場合は、RGBQUADを作り、indexで
初期化。PixelPacketの該当memberで、mw32_imgのpbmpdataを埋める。

(A) 注意

かならず、ImageMagickのlibraryとは動的にlinkすること。export libraryの
使用は禁止。init.時にLoadLibrary & GetProcAddressを使用。失敗した場合には
ImageMagickの使用をあきらめる。

(B) 補足

imageのさまざまなkeyworkによって、ImageMagickの処理を変化させるのも
楽しいかも。

from himi