Potrzebuję twojej pomocy. Wyjaśniam moją sytuację: używam biblioteki fabric.js do umieszczania kształtów, tekstów itp. W mojej aplikacji. Rozmiar mojego płótna ma wymiary 1000 x 1000 pikseli (około 26,45 x 26,45 centymetra). Mam skrypt do przesyłania obrazu tylko w celu przesłania obrazów w wysokiej jakości, takich jak 300 dpi.Jaka jest najlepsza praktyka eksportowania obszaru roboczego z obrazami wysokiej jakości?
Zasadniczo to, co robię, to: - narysuj płótno (wgrywanie zdjęć, umieszczanie tekstu, itp.); - zmiana rozmiaru płótna pomnożenie przez współczynnik skali, aby na końcu mieć obraz o rozdzielczości 300dpi; - zapisz płótno w formacie PNG; - używając php/ajax i Imagick, umieść płótno o jakości 300 dpi, zapisując w formacie JPG.
Problem polega na tym, że gdy zapiszę płótno, jakość przesłanych zdjęć zostanie anulowana, ponieważ zmieniam rozmiar płótna na 72 dpi (w momencie, w którym zapisuję w PNG).
Myślę, że możliwe rozwiązanie: podczas przesyłania obrazów, zapisz pozycję w tablicy z pozycją x i y na końcu całego procesu, zastąp obraz w JPG. Jeśli jest to najlepszy sposób, można to zrobić za pomocą biblioteki Imagick lub w PHP?
Chciałbym poznać Twoją opinię na ten temat.
Dziękuję.
Innym podejściem jest tutaj http://stackoverflow.com/questions/28778396/how-to-export-draw-canvas-fabricjs-tojson-in-php-using-imagick-in-high-qua – AZinkey
@ K3N : Podążyłem za twoją sugestią, ale utknąłem na problemie, teksty, które są umieszczane są bardzo małe. Spójrz na skrzypce http://jsfiddle.net/Q3TMA/1042/ – Abhinav
@Abhinav rozmiar czcionki musi być skalowany z góry przed wyciągnięciem. Możesz użyć scale() do tego lub spróbuj bezpośrednio z wysokością czcionki. Ten ostatni nie zawsze jest liniowy ze względu na sposób tworzenia czcionki, ale powinieneś być w stanie zbliżyć się. – K3N