PHP orezavanie obrazku

Programovacie jazyky, rady, poradňa...
altt
Amateur
Amateur
Príspevky: 12
Registrovaný: 06 dec 2010, 17:41

PHP orezavanie obrazku

Príspevok od používateľa altt »

Ahojte. Stretol som sa s takym problemom. Potreboval by som script ktory vie nacitat obrazok (cesta je znama, je ulozeny na servery) a nasledne ho vie zobrazit orezany.
V praxi- orig. img ma 800x600 px a chcem aby bol povedzme 300x300 px ale aby sa zachovala proporcia tak chcem aby sa orezal 150px z kazdej strany smerom od stredu von.
Studoval som to na webe, narazil som len na take scripty ktore spravili img a uz ho rovno aj ulozili na serveri. Ja to potrebujem len zobrazovat.
Stretol sa niekto s niecim podobnym?
Da sa to vobec? :D
Za pomoc ďakujem :)
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: PHP orezavanie obrazku

Príspevok od používateľa *****HERO***** »

presne tvoj problem http://stackoverflow.com/questions/3369 ... disk-first

vytvoris si Imagick instanciu (dokumentaciu najdes tu http://php.net/manual/en/book.imagick.php), naloadujes si svoj obrazok, poosekavas podla potreby, zmenis hlavicku dokumentu, aby sa vedelo, ze ide o obrazok a nasledne ho vyplujes.

k tomu scriptu mozes pristupit priamo cez browser alebo ho vrazit ako src do img tagu
miso250593
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 89
Registrovaný: 11 júl 2008, 16:53
Kontaktovať používateľa:

Re: PHP orezavanie obrazku

Príspevok od používateľa miso250593 »

Pokiaľ nemáš Imagick tak môžeš použiť aj GD knižnicu a tuna je zaujímavá funkcia

Kód: Vybrať všetko

http://php.net/manual/en/function.imagecopy.php
a pri Imagicku by malo byť to čo potrebuješ metóda

Kód: Vybrať všetko

http://php.net/manual/en/imagick.cropimage.php
altt
Amateur
Amateur
Príspevky: 12
Registrovaný: 06 dec 2010, 17:41

Re: PHP orezavanie obrazku

Príspevok od používateľa altt »

Ahojte. Pekne dakujem za vase rychle odpovede :) . Mam ale zase iny problem. Akonahle tam dam tu funkciu header tak vo FF mi vypise Obrázok "..." sa nedá zobraziť, lebo obsahuje chyby. Ak tam nedam tu funkciu header tak mi zobrazi vsetko na stranke a namiesto toho img mi vypise retazec znakov. Co robit v tomto pripade? :(
miso250593
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 89
Registrovaný: 11 júl 2008, 16:53
Kontaktovať používateľa:

Re: PHP orezavanie obrazku

Príspevok od používateľa miso250593 »

no ale ten img musíš dať do extra skriptu, a ten vložiť do stránky cez IMG tag, nemôžeš ho dať priamo do zdrojáku stránky
(teda môžeš, ale...)
altt
Amateur
Amateur
Príspevky: 12
Registrovaný: 06 dec 2010, 17:41

Re: PHP orezavanie obrazku

Príspevok od používateľa altt »

Akosi ta trosku nechapem O:-) . zatial mam toto

index.php

Kód: Vybrať všetko

<?php
function crop($obr) {
        $image = new Imagick($obr);
        // Do your image creation stuff. Make sure to set $image->setImageFormat();
        $image->SetImageformat("jpeg");
        header('Content-Type: image/jpg'); // Change filetype
        return $image;
        }

        echo '<img src="'.crop("obr.jpg").'" alt="obr" />';
            ?>
Skusal som aj tak ze obsah funkcie som dal do crop.php a nasledne v indexe som spravil

Kód: Vybrať všetko

echo '<img src="'.include "crop.php".'" alt="obr" />
ale pri tom to cele spadne (forpsi maju zo mna radost :D ).
Skusis mi nejako vysvetlit tu tvoju myslienku? :)
miso250593
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 89
Registrovaný: 11 júl 2008, 16:53
Kontaktovať používateľa:

Re: PHP orezavanie obrazku

Príspevok od používateľa miso250593 »

spravíš si súbor crop.php kde dáš tu funkciu a povedzme

Kód: Vybrať všetko

<?php
function crop($obr) {
        $image = new Imagick($obr);
        // Do your image creation stuff. Make sure to set $image->setImageFormat();
        $image->SetImageformat("jpeg");
        header('Content-Type: image/jpg'); // Change filetype
        return $image;
}
echo crop("obr.jpg");
a na stránke už len

Kód: Vybrať všetko

<img src="crop.php" />
altt
Amateur
Amateur
Príspevky: 12
Registrovaný: 06 dec 2010, 17:41

Re: PHP orezavanie obrazku

Príspevok od používateľa altt »

miso250593 napísal: a na stránke už len

Kód: Vybrať všetko

<img src="crop.php" />
Ahááá. Už to ide. Ďakujem veľmi krásne :)
Napísať odpoveď