Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> image intervention - resize obrazka tak aby nie ucinać pikseli a zarazem zachować aspect ratio
swist666
post
Post #1





Grupa: Zarejestrowani
Postów: 152
Pomógł: 1
Dołączył: 14.05.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cześć,

Korzystam z https://github.com/Intervention/image i chciałbym zmniejszyć dowolny obraz do wielkości 200x150 jedak tak aby z bazowego obrazu nie uciąć ani jednego piksela a zarazem nie rozciągnąć go zachowując stosunek długości do wysokości (reszta białe piksele lub opcja 2 - reszta bez pikseli).

Funkcja ->fit($x,$y) jest super w momencie gdy nadmiar chcemy obciąć (coś jak w css background-size: cover).

Jednak nie znalałem odpowiednika funkcji contain z css. Wiem, że wystarczy sprawdzić czy $x > $y, zrobić odpowiedni resize i można dorobić białe piksele za pomocą resizeCanvas() ale chciałem zapytać czy nie ma gotowego rozwiązania - w końcu to dość rozbudowana biblioteka a ja może jakoś to przeoczyłem.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
SwiezuPL
post
Post #2





Grupa: Zarejestrowani
Postów: 38
Pomógł: 9
Dołączył: 16.11.2014
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Nie lepiej użyć alternatywy?
Podaję przykład (rozszerzenie ImageMagick) ; http://php.net/manual/en/imagick.adaptiveresizeimage.php

@edit
http://image.intervention.io/api/resize
Cytat
// resize the image to a width of 300 and constrain aspect ratio (auto height)
$img->resize(300, null, function ($constraint) {
$constraint->aspectRatio();
});

// resize the image to a height of 200 and constrain aspect ratio (auto width)
$img->resize(null, 200, function ($constraint) {
$constraint->aspectRatio();
});

// prevent possible upsizing
$img->resize(null, 400, function ($constraint) {
$constraint->aspectRatio();
$constraint->upsize();
});


Ten post edytował SwiezuPL 23.02.2016, 22:42:05
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 06:10