Итак, у меня есть изображение размером 3 × 3 с использованием imagecreate
. Я хочу увеличить изображение с помощью imagescale
, сохраняя при этом вид сетки 3х3 «пикселей». Однако пиксели в правом и нижнем краях не имеют одинакового размера.Как использовать imagescale и сохранить внешний вид края «пикселей»
Вот мой код и вывод изображения:
<?php
$image = imagecreate(3, 3);
imagecolorallocate($image, 0, 0, 255);
$red = imagecolorallocate($image, 255, 0, 0);
imagesetpixel($image, 0, 0, $red);
imagesetpixel($image, 1, 1, $red);
imagesetpixel($image, 2, 2, $red);
imagepng(imagescale($image, 200, 200, IMG_NEAREST_NEIGHBOUR));
header("Content-Type: image/png");
Это мой выход:
Обратите внимание, как нижний правый пиксель отрезан. Я продолжал играть с цифрами для новых измерений и достиг 256x256, в этот момент пиксели имеют одинаковый размер.
Это выход после использования 256x256:
Мой вопрос: Как я могу получить размеры, чтобы использовать для измененного изображения с эффектом я описал?
Вопрос с бонусом: Является альтернативным методом, который позволит мне изменить размер до произвольного размера и сохранить пиксели примерно одного размера?