Avatar True Resize MOD
Szerző
Üzenet
Avatar True Resize MOD, azaz "Avatar leméretező MOD" (Így sikerült éjjel lefordítanom, na! )
A MOD-dal bármilyen méretű, avatarnak szánt képet feltölthet a user, mert a fórum automatikusan leméretezi az AVP-n beállított max avatar méretek szerint, és azt menti el.
Szerintem egy hasznos kis MOD.
Itt találtam: http://www.phpbb.com/community/viewtopic.php?f=434&t=685995&hilit=avatar#p12843287 , majd kicsit rendberaktam, mert a készítő elhanyagolta a dolgát.
Így tökéletesen működik 3.0.9-en.
---
A teljes MOD ennyi (sablon mindegy, hogy milyen):
Módosítandó fájl: includes/functions_upload.php
Keresd:
Csere erre:
Keresd:
Elé, új sorba illeszd:
Keresd:
Elé, új sorba illeszd:
Amit még meg kell csinálni, hogy AVP-n az avatar maximális fájlméretét jó nagyra kell állítani, hogy a nagy fotók is beleférjenek a limitbe. Én például 3 MB-ra állítottam. (ez 3072000 bájt)
De ennek persze nincsen jelentősége, úgyis a leméretezett avatart menti el a fórum. Egyedül annyi történik, hogy ha marha nagy képet tölt fel valaki, akkor ez kis várakozással jár, de nem vészes.
---
Teszteltem, nem találtam hibát. (kérdésem azért persze lesz...)
_________________
carvingski.hu
A MOD-dal bármilyen méretű, avatarnak szánt képet feltölthet a user, mert a fórum automatikusan leméretezi az AVP-n beállított max avatar méretek szerint, és azt menti el.
Szerintem egy hasznos kis MOD.
Itt találtam: http://www.phpbb.com/community/viewtopic.php?f=434&t=685995&hilit=avatar#p12843287 , majd kicsit rendberaktam, mert a készítő elhanyagolta a dolgát.
Így tökéletesen működik 3.0.9-en.
---
A teljes MOD ennyi (sablon mindegy, hogy milyen):
Módosítandó fájl: includes/functions_upload.php
Keresd:
Kód:
if (!$this->upload->valid_dimensions($this))
Csere erre:
Kód:
if (!$this->upload->valid_dimensions($this) && $_GET['mode'] != 'avatar')
Keresd:
Kód:
/**
* Performing additional checks
*/
Elé, új sorba illeszd:
Kód:
/**
* Resize avatar with the true diemensions
*/
function resize_avatar()
{
if ( $_GET['mode'] == "avatar" ) {
$limite_largeur = $this->upload->max_width;
$limite_hauteur = $this->upload->max_height;
$size = getimagesize($this->destination_file);
$largeur = $size[0];
$hauteur = $size[1];
if($hauteur > $limite_hauteur OR $largeur > $limite_largeur)
{
if($largeur > $limite_largeur)
{
$hauteur = $hauteur / ($largeur / $limite_largeur);
$largeur = $limite_largeur;
}
if($hauteur > $limite_hauteur)
{
$largeur = $largeur / ($hauteur / $limite_hauteur);
$hauteur = $limite_hauteur;
}
$destination = imagecreatetruecolor($largeur, $hauteur);
if ( $this->extension == "jpg" || $this->extension == "jpeg" ) $source = imagecreatefromjpeg($this->destination_file);
elseif ( $this->extension == "png" ) $source = imagecreatefrompng($this->destination_file);
elseif ( $this->extension == "gif" ) $source = imagecreatefromgif($this->destination_file);
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur, $hauteur, $size[0], $size[1]);
if ( $this->extension == "jpg" || $this->extension == "jpeg" ) imagejpeg($destination, $this->destination_file, 100);
elseif ( $this->extension == "png" ) imagepng($destination, $this->destination_file);
elseif ( $this->extension == "gif" ) imagegif($destination, $this->destination_file);
}
}
}
Keresd:
Kód:
phpbb_chmod($this->destination_file, $chmod);
Elé, új sorba illeszd:
Kód:
if ( $_GET['mode'] == 'avatar' ) $this->resize_avatar();
Amit még meg kell csinálni, hogy AVP-n az avatar maximális fájlméretét jó nagyra kell állítani, hogy a nagy fotók is beleférjenek a limitbe. Én például 3 MB-ra állítottam. (ez 3072000 bájt)
De ennek persze nincsen jelentősége, úgyis a leméretezett avatart menti el a fórum. Egyedül annyi történik, hogy ha marha nagy képet tölt fel valaki, akkor ez kis várakozással jár, de nem vészes.
---
Teszteltem, nem találtam hibát. (kérdésem azért persze lesz...)
_________________
carvingski.hu
A hozzászólás legutóbb Szoles által 2012.04.20. 14:14-kor lett szerkesztve, összesen 8 alkalommal.
A kérdésem pedig az, hogy megoldható-e, miszerint ha a feltöltött nagy kép jpeg, akkor azt png formátumba méretezze és konvertálja?
Teszteltem: A "jpeg-ről jpeg-re" leméretezés elég gyengécske minőségű, viszont a "png-ről png-re" és a "gif-ről gif-re" ugyanannál az alapanyagnál sokkal szebb eredményt adott.
Tehát a png és gif leméretezés ok, csak a jpeg-ből kicsi png-t kellene csináltatni vele, gondolom az jobb lenne, mint a jpeg végeredmény. (Ha ez egyáltalán lehetséges.)
Ha ez nem lehetséges, akkor a jpeg tömörítést kellene maxra beállítani.
Kösz.
---
Szerkesztve: Időközben rájöttem, hogyan kell a legjobbra, 100%-osra állítani a leméretezett jpeg minőséget.
(Azért 100%-ra, mert ilyen kicsike képeknél még egy 95%-os is láthatóan rosszabb minőségű, pár KB különbség a képméreteknél pedig úgysem számít.)
Az első hsz-ben javítottam is eszerint a kódot.
_________________
carvingski.hu
Teszteltem: A "jpeg-ről jpeg-re" leméretezés elég gyengécske minőségű, viszont a "png-ről png-re" és a "gif-ről gif-re" ugyanannál az alapanyagnál sokkal szebb eredményt adott.
Tehát a png és gif leméretezés ok, csak a jpeg-ből kicsi png-t kellene csináltatni vele, gondolom az jobb lenne, mint a jpeg végeredmény. (Ha ez egyáltalán lehetséges.)
Ha ez nem lehetséges, akkor a jpeg tömörítést kellene maxra beállítani.
Kösz.
---
Szerkesztve: Időközben rájöttem, hogyan kell a legjobbra, 100%-osra állítani a leméretezett jpeg minőséget.
(Azért 100%-ra, mert ilyen kicsike képeknél még egy 95%-os is láthatóan rosszabb minőségű, pár KB különbség a képméreteknél pedig úgysem számít.)
Az első hsz-ben javítottam is eszerint a kódot.
_________________
carvingski.hu
A hozzászólás legutóbb Szoles által 2012.04.23. 11:51-kor lett szerkesztve, összesen 1 alkalommal.
Szoles írta:
Avatar True Resize MOD, azaz "Avatar leméretező MOD" (Így sikerült éjjel lefordítanom, na! )
A MOD-dal bármilyen méretű, avatarnak szánt képet feltölthet a user, mert a fórum automatikusan leméretezi az AVP-n beállított max avatar méretek szerint, és azt menti el.
Szerintem egy hasznos kis MOD.
Itt találtam: http://www.phpbb.com/community/viewtopic.php?f=434&t=685995&hilit=avatar#p12843287 , majd kicsit rendberaktam, mert a készítő elhanyagolta a dolgát.
Így tökéletesen működik 3.0.9-en.
---
A teljes MOD ennyi (sablon mindegy, hogy milyen):
Módosítandó fájl: includes/functions_upload.php
Keresd:
Kód:
if (!$this->upload->valid_dimensions($this))
Csere erre:
Kód:
if (!$this->upload->valid_dimensions($this) && $_GET['mode'] != 'avatar')
Keresd:
Kód:
/**
* Performing additional checks
*/
Elé, új sorba illeszd:
Kód:
/**
* Resize avatar with the true diemensions
*/
function resize_avatar()
{
if ( $_GET['mode'] == "avatar" ) {
$limite_largeur = $this->upload->max_width;
$limite_hauteur = $this->upload->max_height;
$size = getimagesize($this->destination_file);
$largeur = $size[0];
$hauteur = $size[1];
if($hauteur > $limite_hauteur OR $largeur > $limite_largeur)
{
if($largeur > $limite_largeur)
{
$hauteur = $hauteur / ($largeur / $limite_largeur);
$largeur = $limite_largeur;
}
if($hauteur > $limite_hauteur)
{
$largeur = $largeur / ($hauteur / $limite_hauteur);
$hauteur = $limite_hauteur;
}
$destination = imagecreatetruecolor($largeur, $hauteur);
if ( $this->extension == "jpg" || $this->extension == "jpeg" ) $source = imagecreatefromjpeg($this->destination_file);
elseif ( $this->extension == "png" ) $source = imagecreatefrompng($this->destination_file);
elseif ( $this->extension == "gif" ) $source = imagecreatefromgif($this->destination_file);
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur, $hauteur, $size[0], $size[1]);
if ( $this->extension == "jpg" || $this->extension == "jpeg" ) imagejpeg($destination, $this->destination_file, 100);
elseif ( $this->extension == "png" ) imagepng($destination, $this->destination_file);
elseif ( $this->extension == "gif" ) imagegif($destination, $this->destination_file);
}
}
}
Keresd:
Kód:
phpbb_chmod($this->destination_file, $chmod);
Elé, új sorba illeszd:
Kód:
phpbb_chmod($this->destination_file, $chmod);
Amit még meg kell csinálni, hogy AVP-n az avatar maximális fájlméretét jó nagyra kell állítani, hogy a nagy fotók is beleférjenek a limitbe. Én például 3 MB-ra állítottam.
De ennek persze nincsen jelentősége, úgyis a leméretezett avatart menti el a fórum. Egyedül annyi történik, hogy ha marha nagy képet tölt fel valaki, akkor ez kis várakozással jár, de nem vészes.
---
Teszteltem, nem találtam hibát. (kérdésem azért persze lesz...)
Először is köszönöm,hogy elérhetővé tetted ezt a MOD-ot az újabb motorral rendelkezők számára is.
Viszont a teljesség kedvéért,az utolsó szerkesztési fázist hibásan raktad ide ki a fórumra,bár 100%-ig biztos vagyok benne,hogy véletlenül (CTRL+C-CTRL-V) történt.
Tehát az utolsó szerkesztés:
Keresd:
Kód:
phpbb_chmod($this->destination_file, $chmod);
illeszd elé egy új sorba:
Kód:
if ( $_GET['mode'] == 'avatar' ) $this->resize_avatar();
Egyébként kipróbáltam, 3.0.10 -es motorral is tökéletesen megy.
üdv.
Szia!
Én örülök, ha olyat találtam, ami másnak is hasznos lehet.
Az utolsó módosítást valóban elírtam, elnézést, és kösz, hogy szóltál. Javítottam.
Ui: Nem lehet mindenki akkora mestere a CTRL+C-CTRL-V-nek, mint Scmitt Pali bácsi...
_________________
carvingski.hu
Én örülök, ha olyat találtam, ami másnak is hasznos lehet.
Az utolsó módosítást valóban elírtam, elnézést, és kösz, hogy szóltál. Javítottam.
Ui: Nem lehet mindenki akkora mestere a CTRL+C-CTRL-V-nek, mint Scmitt Pali bácsi...
_________________
carvingski.hu
Elnézést, lemaradt:
Ahhoz, hogy értelmesebb legyen a dolog, érdemes egy sort megváltoztatni a nyelvi fájlban is, mondjuk így:
Módosítandó fájl: /language/hu/ucp.php
Keresd:
Csere erre:
Én sortörést is raktam bele , így néz ki: http://carvingski.hu/vegyes/images/avatar_szerkesztes.png
(a sortörések törléséhez törölni kell a <br> kódokat)
_________________
carvingski.hu
Ahhoz, hogy értelmesebb legyen a dolog, érdemes egy sort megváltoztatni a nyelvi fájlban is, mondjuk így:
Módosítandó fájl: /language/hu/ucp.php
Keresd:
Kód:
'AVATAR_EXPLAIN' => 'Maximális méret: szélesség %1$d pixel, magasság %2$d pixel, állomány mérete %3$.2f KiB.',
Csere erre:
Kód:
'AVATAR_EXPLAIN' => 'Avatar maximális mérete:<br>szélesség: %1$d pixel, magasság: %2$d pixel.<br>Az ennél nagyobb képet a fórum automatikusan lekicsinyíti.<br>Feltölthető legnagyobb képfájl: %3$.2f KB.',
Én sortörést is raktam bele , így néz ki: http://carvingski.hu/vegyes/images/avatar_szerkesztes.png
(a sortörések törléséhez törölni kell a <br> kódokat)
_________________
carvingski.hu
Nem készíthetsz új témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem módosíthatod a hozzászólásaidat a fórumban.
Nem törölheted a hozzászólásaidat a fórumban.
Nem szavazhatsz ebben fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem módosíthatod a hozzászólásaidat a fórumban.
Nem törölheted a hozzászólásaidat a fórumban.
Nem szavazhatsz ebben fórumban.