Pisałem ostatnio o mumifikacji awatara i o zamianie koloru czarnego na biały. Zaznaczyłem też swoje zdziwienie tym, że obrazki na mikroblogu nie są minifikowane. I chyba zrobiłem błąd, bo widzę, że już są :)
I oczywiście są zepsute ;*
Pisałem ostatnio o mumifikacji awatara i o zamianie koloru czarnego na biały. Zaznaczyłem też swoje zdziwienie tym, że obrazki na mikroblogu nie są minifikowane. I chyba zrobiłem błąd, bo widzę, że już są :)
I oczywiście są zepsute ;*
Jeżeli chodzi o zdjęcia na mikroblogu, to zawsze są one pomniejszane. Dopiero po kliknięciu na nie, pojawia się pełna wersja obrazka.
Wrzucałem już screeny z telefonu i zamiana koloru czarny -> biały zdarzyła mi się pierwszy raz. W każdym razie nie działa tak, jak powinno.
@merlinnot - Sztucznie przezroczyste obrazki w module Mikroblogów :]
Wiem jak to obejść i pozbyć się tej sztucznej przezroczystości, jednak to tylko obejście problemu.
To jest kod odpowiedzialny za te hocki klocki. Jak widać, kolor jest tu z założenia, choć nie wiem czemu. Może @Adam Boduch pamięta.
/**
* Metoda generuje miniature o podanych rozmiarach, skalując i przycinając do określonego
* rozmiaru, co pozwala na uniknięcie tła wokół przeskalowanego obrazu jeśli obraz
* wejściowy jest wystarczająco duży.
* @param int $width Szerokosc w px
* @param int $height Wysokosc w px
* @param strig $color Kolor tla dla miniatury
*/
public function thumbnailFilled($width, $height, $color = '#FFF')
{
if ($this->getWidth() > $this->getHeight())
{
$cWidth = (int) round($this->getWidth() * $height / $this->getHeight());
$cHeight = $height;
}
else
{
$cWidth = $width;
$cHeight = (int) round($this->getHeight() * $width / $this->getWidth());
}
$this->resize($cWidth, $cHeight);
$offsetX = (int) round(($width - $cWidth) / 2);
$offsetY = (int) round(($height - $cHeight) / 2);
/* create img with background */
$output = imagecreatetruecolor($width, $height);
list($red, $green, $blue) = $this->hex2rgb($color);
$color = imagecolorallocate($output, $red, $green, $blue);
imagefill($output, 0, 0, $color);
imagecopy($output, $this->handle, $offsetX, $offsetY, 0, 0, $this->getWidth(), $this->getHeight());
$this->handle = $output;
$this->width = $width;
$this->height = $height;
}