2010-02-03 6 views
0

오프셋. 하지만 픽셀 색상을 0 대신 인덱스 16 시작하고 싶습니다. 아래 코드는 필요한 올바른 형식으로 bmp를 생성하는 방법을 보여 주지만 팔레트 인덱스는 기본적으로 0입니다. 팔레트 시작을 확인하는 방법이 있습니까? 다른 색인에?내가 JPG에서 8 비트 BMP를 생성하는 PHP를 통해 Imagick를 사용하려고 해요

 
$average = new Imagick("icon.jpg"); 
$average->setCompression(Imagick::COMPRESSION_NO); 
$average->quantizeImage(32, Imagick::COLORSPACE_RGB, 0, false, false); 
imagecolorset ($average, 0, 255, 255, 255); 
$average->setImageFormat("bmp"); 

header("Content-Type: image/bmp"); 
echo $average; 

$average->clear(); 
$average->destroy(); 

답변

0

나는 Imagick 그것을 위해 내장 아무것도 있다고 생각하지 않는다, 그래서 당신은 (AN 오프셋과 함께 이전에서 복사 색) 새로운 팔레트를 생성 한 다음 $pixel = $average::getImagePixelColor()를 사용해야하고 할 $pixel->getColor()$pixel->setColor() 새로운 팔레트에 따르면.

+0

방금 ​​내가 알지 못하는 것을 발견했습니다. ImagickPixelIterator 클래스 그 모든 pixles 통해 도움이 될 수도, 그것에 대해이 블로그를 발견 http://valokuva.org/?p=79 –

+0

내게 올바른 방향을 가리키는 주셔서 감사. 나는 더 효율적인 과정이 있기를 바랐다. intension은 결과로 나오는 bmp를 pixmap으로 바꾸는 것이었지만, pixmap 인덱스를 bmp의 것보다 덜 수정하는 것으로 보였으므로, 나는 그 방법으로 갈 것이라고 생각합니다. 도와 줘서 고마워. – rikonholiday