php imagetiler
3.2.0
이미지(지도)를 조각(타일)으로 자르는 PHP 7.4+용 스크립트입니다. Fedik의 지도 타일러 스크립트를 기반으로 합니다. 이 스크립트는 입력 이미지의 비율을 유지하고 필요한 타일만 생성합니다. 정사각형 입력 파일은 필요하지 않습니다!
작곡가가 필요합니다
작곡가.json (참고: dev-main
버전 경계로 교체)
{
"require" : {
"php" : " ^7.4 || ^8.0 " ,
"ext-imagick" : " * " ,
"chillerlan/php-imagetiler" : " dev-main "
}
}
이익!
실시간 테스트를 위해 예제를 사용하세요.
// invoke an options instance
$ options = new ImagetilerOptions ([
' zoom_min ' => 0 ,
' zoom_max ' => 8 ,
' zoom_normalize ' => 6 ,
' fill_color ' => ' transparent ' ,
' fast_resize ' => true ,
' optimize_output ' => true ,
// ... whatever you need
]);
// see https://github.com/psliwa/image-optimizer#configuration
$ optimizer = ( new OptimizerFactory ([]))-> get ();
// invoke and run the tiler
$ tiler = new Imagetiler ( $ options , $ optimizer );
$ tiler -> process ( ' /path/to/image.png ' , ' /path/to/output/ ' );
그게 다야!
ImageMagick에서 캐시 경로의 공간이 부족하다고 불평하는 문제가 발생하는 경우 ImageMagick 설치 경로(Windows의 경우)에서 policy.xml
을 확인하는 것이 좋습니다. 참고 사항: 49152x49152 이미지는 ~28.5GB의 캐시 파일을 생성합니다.
Imagetiler
공개 메소드방법 | 반품 | 설명 |
---|---|---|
__construct(ContainerInterface $options = null, LoggerInterface $logger = null) | - | SettingsContainerInterface 및 LoggerInterface 참조하세요. 해당 매개 변수가 설정되지 않은 경우 빈 ImagetilerOptions 개체와 PsrNullLogger 호출합니다. |
setOptions(ContainerInterface $options) | Imagetiler | 생성자에 의해 내부적으로 호출되는 즉시 옵션 설정 |
setOptimizer(Optimizer $optimizer) | Imagetiler | 생성자에 의해 내부적으로 호출되는 최적화 프로그램 인스턴스를 즉시 설정합니다. |
process(string $image_path, string $out_path) | Imagetiler | $image_path 에서 지정된 이미지를 처리하고 출력을 $out_path 에 덤프합니다. |
ImagetilerOptions
속성재산 | 유형 | 기본 | 허용된 | 설명 |
---|---|---|---|---|
$tile_size | 정수 | 256 | 양의 정수 | 단일 타일의 너비/높이 |
$zoom_min | 정수 | 0 | 양의 정수 | 최소 확대/축소 수준 |
$zoom_max | 정수 | 8 | 양의 정수 | 최대 확대/축소 수준 |
$zoom_normalize | 정수 | null | 양의 정수 | 이 확대/축소 수준은 원본 이미지의 크기를 나타냅니다. 이보다 높은 확대/축소 수준은 확대되며 입력 이미지의 크기에 따라 시간과 리소스가 걸릴 수 있습니다. |
$tms | 부울 | 거짓 | * | true로 설정된 경우 원점은 타일 맵 서비스 사양에 따라 왼쪽 하단, +y 위쪽으로 설정됩니다. 그렇지 않으면 원점은 Google 지도 사양에 설명된 대로 왼쪽 상단, +y 아래쪽으로 설정됩니다. |
$fill_color | 끈 | '#000000' | * | 남은 공간의 채우기 색상, png의 경우 투명할 수 있음 |
$memory_limit | 끈 | '-1' | * | php.ini 설정을 참조하세요 |
$store_structure | 끈 | '%1$d/%2$d/%3$d' | * | 저장 구조 - 무엇이든 될 수 있습니다. %1$d = 확대/축소, %2$d = x, %3$d = y. sprintf()를 참조하세요. |
$fast_resize_upsample | 부울 | 거짓 | * | 빠른 Imagick::scaleImage() (true) 또는 느린 Imagick::resizeImage() (false)를 사용할지 여부를 결정합니다. |
$resize_filter_upsample | 정수 | Imagick::FILTER_ROBIDOUXSHARP | Imagick::FILTER_* | Imagick::resizeImage() 및 Imagick 필터 상수를 참조하세요. |
$resize_blur_upsample | 뜨다 | 1.0 | 포지티브 플로트 | Imagick::resizeImage() 참조하세요. |
$fast_resize_downsample | 부울 | 거짓 | * | $fast_resize_upsample 참조 |
$resize_filter_downsample | 정수 | Imagick::FILTER_LANCZOSRADIUS | Imagick::FILTER_* | $resize_filter_upsample 참조 |
$resize_blur_downsample | 뜨다 | 1.0 | 포지티브 플로트 | $resize_blur_upsample 참조 |
$tile_format | 끈 | 'png' | png, jpg | Imagick 형식을 참조하세요. |
$tile_ext | 끈 | null | * | 타일 이미지 확장 - 지정되지 않은 경우 형식에서 자동 감지됩니다. |
$quality_jpeg | 정수 | 80 | 0-100 | JPEG 형식으로 저장된 이미지의 품질 |
$imagick_tmp | 끈 | null | * | ImageMagick tmp 폴더 |
$overwrite_base_image | 부울 | 거짓 | * | |
$overwrite_tile_image | 부울 | 거짓 | * | |
$clean_up | 부울 | 진실 | * | 임시 이미지 삭제 여부 |
$optimize_output | 부울 | 거짓 | * | 이미지 최적화 활성화( Optimizer 인스턴스 필요) |
$no_temp_baseimages | 부울 | 거짓 | * | 임시 기본 이미지 생성 및 저장 여부(리소스 절약 가능) |