2014-10-28 4 views
2

을 만드는 방법 :내가이 같은 CLI에 ImageMagick를 사용하고 이미지 Magick.NET 타일 또는 GraphicsMagick.NET

gm convert input.png -crop 512x512 +repage +adjoin "tiles/tile%02d.png" 

내 입력 이미지의 타일 버전을 만들 수 있습니다. 하지만 커맨드 라인을 사용하는 대신 GraphicsMagick.NET 또는 Magick.NET으로하고 싶습니다. 나에게 발생한 문제는 GM.NET 또는 IM.NET이 "+ repage"및 "+ adjoin"을 올바르게 지원하지 않는 것입니다. 대신 둘 다 단일 출력 이미지 만 생성합니다.

C#에서는 다음 코드를 시도했지만 성공하지 못했습니다. ,

GraphicsMagick.NET 테스트

MagickImage image = new MagickImage("test.png"); 
MagickGeometry geo = new MagickGeometry(512,512); 

image.Crop(geo); 
image.RePage(); 
image.Adjoin = true; // i tried false too! 
image.Write("testout_%d.png"); 

ImageMagick.NET 테스트

// ImageMagick.NET Test 
using (MagickImage image = new MagickImage("test.png")) 
{ 
    image.Crop(512, 512,Gravity.Northwest); 
    image.RePage(); 
    image.Adjoin = true; 
    image.Write("testout_%d.png"); 
} 

나는 또한 나의 이미지의 타일 버전을 생성 할 수 MSL을 시도했지만 MSL 역시이 기능을 지원하지 않는 것 MSL에서 인접 및 repage가 모두 누락되었습니다.

답변

2

자르기 옵션이 예상 한 것과 다른 코드를 호출하고 있습니다. 이미지를 타일로 자르기는 현재 Magick.NET에서만 지원됩니다. 아래는 어떻게 할 수 있는지 보여주는 예입니다.

using (MagickImage image = new MagickImage("test.png")) 
{ 
    int i = 0; 
    foreach (MagickImage tile in image.CropToTiles(512, 512)) 
    { 
    tile.Write("testout_" + (i++) + ".png"); 
    } 
} 

p.s. adjoin과 rePage 모두 MagickScript (MSL)로 지원됩니다.