Kuvan kääntäminen

Anonyymi

Haluaisin esittää 2 kuvaa. 1 sellaisenaan ja toinen 90 astetta käännettynä.
Tällä koodilla näkyy vain kuna 1. Missä vika?

$imageData = base64_encode($imgData['image']);
$src = 'data: '.mime_content_type($image).';base64,'.$imageData;
echo ' photo1 '.'<img src="'.$src.'">';
$degrees = 90;
$src2 = imagerotate($src, 90, 0);
echo ' photo2, rotated ' . '<img src=" ' .$src2. ' ">';

23

1233

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Koitat käännellä base64 enkoodattua datapötköä.

    • Anonyymi

      Jotain tällaista arvelin,. Tuosta ei siis saa kuvaa, jota kääntäisi? Jotenkin koronapäissä ajattelin, että $src sisältäisi tuon kuvan. Onko toivoa koodissa kääntämällä vai pitääkö tallettaa levyn kulmalle ja kääntää sitten?

      • Anonyymi

        Niin eikös se kuva nyt ole siellä kiintolevyllä ja sieltä sitten olet näyttämässä sitä suorassa ja käännettynä?

        Ihan en ymmärrä tuota mikä se ongelma on mitä yritetään ratkoa.


    • Anonyymi

      Kuva luetaan tietokannasta. Mutta jostain syystä ytuo koodi ei näytä mitään.

    • Anonyymi

      PHP on luonteeltaan sellaista koodattavaa, että se kertoo hyvin höylisti virheet.

      Ota ja askella koodiasi rivi tai komento kerrallaan PHP- komentotulkissa, ihan siitä lähtien kun kuvasi Base64 data luetaan muuttujaan. Virhe löytyy varmasti.

      Käynnistä interaktiivinen komentotulkki:

      php -a

      Kerro sitten meille, niistä virheistä joita tuli, ja minkä komennon seurauksena. Me voimme sitten kertoa voiko virheen jättää huomioimatta, tai miten se tulee huomioida.

      • Anonyymi

        tarkennan vähän, älä jatka, yhtään eteen päin kun törmäät virheeseen, se pitää ensin selvittää miksi virhe tuli, ja miten se korjataan. Virhe johtaa toiseen virheeseen, vaikka kaikki muu olisikin oikein.

        Ne sadat parse errorit ja syntax errorit rivit ovat turhia huomion kohteita sen jälkeen kun ei huomioitu sitä ensimmäistä virhettä.


      • Anonyymi
        Anonyymi kirjoitti:

        tarkennan vähän, älä jatka, yhtään eteen päin kun törmäät virheeseen, se pitää ensin selvittää miksi virhe tuli, ja miten se korjataan. Virhe johtaa toiseen virheeseen, vaikka kaikki muu olisikin oikein.

        Ne sadat parse errorit ja syntax errorit rivit ovat turhia huomion kohteita sen jälkeen kun ei huomioitu sitä ensimmäistä virhettä.

        Vielä vähän lisää;

        Heti ensimmäisellä rivillä herättää kummastusta tuo (image), jos se on muuttuja joka osoittaa ($imgData[]) taulukon tietoon, miksi se ei ole muuttujaksi kirjoitettu ($image).

        $imageData = base64_encode($imgData['image']);

        Tuohan ei ole tietokantakysely, onko $imgData[] php-taulukko, jonka sisältöön virheellisesti viitataan.


    • Anonyymi

      Ajankuluksi koodaan ja malleja katselen. Koko koodia en tähän esittänyt.
      Eka rivi juontaa täältä eli tietokantakyselystä:
      $imgData = $result->fetch_assoc();
      Koodi näyttää kannasta otetun kuvan hienosti.
      Sitten ajattelin aluksi näyttää saman kuvan käännettynä, mutta sen sijaan tulee vain alt-testi "Missing..."
      Lopullinen tavoite on ehkä tallettaa käännetty kuva takaisin tietokantaan, jos se on parempi. Kyse on erään keräilijän kuvista, joita voi tarkastella eri asennoissa ihan hyvin.
      Järkevyyttä ei kannata kysyä. Ja kuvissa ei ole exif-tietoa.

      • Anonyymi

        Joo, kyllä se kuvan tulostaa, mutta kääntävältä riviltä pitäisi tulla muutakin virhettä, kuin tuo mitä sanoit "Missing...", koska se on GD laajennoksen takana.

        Kuten esimerkiksi tämä:
        Error: Call to undefined function imagerotate() in

        Joka tarkoittaisi ettei sinulla ole GD kirjasto asennettuna.

        Testaappa tuon olemassa olo vaikka tällä:
        if(!extension_loaded('gd')) throw new Exception('GD laajennos ei ole asennettu');


      • Anonyymi
        Anonyymi kirjoitti:

        Joo, kyllä se kuvan tulostaa, mutta kääntävältä riviltä pitäisi tulla muutakin virhettä, kuin tuo mitä sanoit "Missing...", koska se on GD laajennoksen takana.

        Kuten esimerkiksi tämä:
        Error: Call to undefined function imagerotate() in

        Joka tarkoittaisi ettei sinulla ole GD kirjasto asennettuna.

        Testaappa tuon olemassa olo vaikka tällä:
        if(!extension_loaded('gd')) throw new Exception('GD laajennos ei ole asennettu');

        Siis, ajat komennon
        Strl Alt T
        php -a
        if(!extension_loaded('gd')) throw new Exception('GD laajennos ei ole asennettu');


      • Anonyymi
        Anonyymi kirjoitti:

        Siis, ajat komennon
        Strl Alt T
        php -a
        if(!extension_loaded('gd')) throw new Exception('GD laajennos ei ole asennettu');

        Kun laajennos on asennettu, ja otettu käyttöön php.ini tiedostossa, ja myös apache2 käynnistetty uudestaan, tuon suorittaminen ei pitäisi tuottaa mitään virhetilankäsittelyä, joten se näyttää samalta kuin kuvassakin.

        Kuvan oikeassa alalaidassa on php.ini tiedoston rivi jolla tuo laajennos otetaan käyttöön, rivi on olemassa, mutta rivin alussa on( ; ) puolipiste joka pitää poistaa.

        locate php.ini, komento kertoo missä sinun php.ini tiedostosi on.

        https://s7.gifyu.com/images/Paate_092.png


      • Anonyymi
        Anonyymi kirjoitti:

        Kun laajennos on asennettu, ja otettu käyttöön php.ini tiedostossa, ja myös apache2 käynnistetty uudestaan, tuon suorittaminen ei pitäisi tuottaa mitään virhetilankäsittelyä, joten se näyttää samalta kuin kuvassakin.

        Kuvan oikeassa alalaidassa on php.ini tiedoston rivi jolla tuo laajennos otetaan käyttöön, rivi on olemassa, mutta rivin alussa on( ; ) puolipiste joka pitää poistaa.

        locate php.ini, komento kertoo missä sinun php.ini tiedostosi on.

        https://s7.gifyu.com/images/Paate_092.png

        Kääntyy se kuva näinkin:

        https://s7.gifyu.com/images/Kuvan-kaanto---Chromium_095.png

        Mitähän tähän kirjoittaisi täytöksi, ettei poistuisi liian vähän tekstin vuoksi, ja kuinka paljon tätä täytettä tarvitaan. Nämä älyttömät kuviot joutuu öiseen aikaan tekemään, kun kuvalinkin sisältävää viestiä yrittää tarjota.


    • Anonyymi

      "Kääntyy se kuva näinkin:..."
      Jep! Kääntyi. Ja CD on asennettu!

      • Anonyymi

        "Ja CD on asennettu!", tarkoitit varmaan GD, no kerran se kääntyi html koodilla, niin kokeilepa sitten tätä php koodia, joka tallentaa kuvan ja näyttää sitten sen tallennetun.

        https://s7.gifyu.com/images/testi1.php----srv-http---Geanyuusi-tapahtuma_101.png

        Tietysti tuossa täytyy olla kirjoitusoikeudet ohjelmalla. Minulla tuo kuva on 32 x 32 kuvake, jota pyöritellään. Ellei käänny tämäkään tarkista php-imagick laajennoksen olemassa olo.

        Kun php-imagick laajennoksen asennus on tehty ota se käyttöön poistamalla ( ; ) puolipiste siitä rivin alusta, muokattava tiedostohan oli:

        sudo xed /etc/php/conf.d/imagick.ini

        Huomaa että käännetyn kuvan tiedostoa ei saa olla ennestään olemassa, eli vilkaise epäonnistuneen yrityksen jälkeen että sitä "rotated.jpg" tiedostoa ei ole.

        Ellei se vieläkään käänny PHP:llä, minä luovutan, meillä on liian erilaiset ympäristöt, että pysyisin neuvomaan.


      • Anonyymi
        Anonyymi kirjoitti:

        "Ja CD on asennettu!", tarkoitit varmaan GD, no kerran se kääntyi html koodilla, niin kokeilepa sitten tätä php koodia, joka tallentaa kuvan ja näyttää sitten sen tallennetun.

        https://s7.gifyu.com/images/testi1.php----srv-http---Geanyuusi-tapahtuma_101.png

        Tietysti tuossa täytyy olla kirjoitusoikeudet ohjelmalla. Minulla tuo kuva on 32 x 32 kuvake, jota pyöritellään. Ellei käänny tämäkään tarkista php-imagick laajennoksen olemassa olo.

        Kun php-imagick laajennoksen asennus on tehty ota se käyttöön poistamalla ( ; ) puolipiste siitä rivin alusta, muokattava tiedostohan oli:

        sudo xed /etc/php/conf.d/imagick.ini

        Huomaa että käännetyn kuvan tiedostoa ei saa olla ennestään olemassa, eli vilkaise epäonnistuneen yrityksen jälkeen että sitä "rotated.jpg" tiedostoa ei ole.

        Ellei se vieläkään käänny PHP:llä, minä luovutan, meillä on liian erilaiset ympäristöt, että pysyisin neuvomaan.

        Huomasin että kun käännetty kuva on *.jpg, se ei kääntynyt kiintolevyllä, vaikka selain sen käännettynä näyttääkin, mutta kun muuttaa sen *.png niin johan kääntyy myös kiintolevylle, eli rivi 10 näin:

        $imagick->writeImage('rotated.png');

        ja vastaavasti myös tulostava rivi 14 näin

        echo '<img src="rotated.png">';

        Älä edes yritä kysyä miksi se noin menee, en tiedä. Siellä jossakin php.ini tiedostossa taisi jollakin rivillä olla lueteltu noita eri kuvaformaattien oikeuksia, olisiko se niistä kiinni, vai imagick ohjelmasta.


    • Anonyymi

      Minä yritin laittaa tänne valmiin ratkaisun tuohon avaukseen, se poistettiin, niinpä siirsin sen pastebin sivulle. Tässä alla on täysin sama viesti joka poistettiin, paitsi koodin tilalla on linkki, onnistuukohan näin.

      ————————————————————————————————————————
      Nyt vielä palataan siihen avaukseen, jossa sinä luit tietokannasta Base64 -muotoon koodatun kuvan, minä tein vastaavan koodin verkkosivulla äänen voimakkuussäätimen kuvakkeesta. Ja nyt sitten se koodataan takaisin kuvaksi, tulostetaan, käännetään ja tulostetaan uudestaan käännettynä.

      https://pastebin.com/NQTFDeHq

      Saa nähdä poistuuko tuo, mutta aika sekavaksi menee tuon Base64 -muodossa olevan kuvan vuoksi. Mikäli kääntäminen alkoi onnistumaan, ei tämänkään ajo pitäisi olla ongelma.
      ————————————————————————————————————————

      • Anonyymi

        Minä haluan nähdä että sinä saat sen kuvan kääntymään PHP -koodilla, laittaisitko kuvakaappauksen onnistuessasi.


    • Anonyymi

      Joo, minä poistun, mutta palaan illalla katsomaan ovatko saaneet sämppärin aisoihin, nyt ainakin on sellainen meno päällä että ei kehtaa edes vierestä katsella.

    • Anonyymi

      Palautetta odotellaan, joko testasit?

    • Anonyymi

      PASTEBIN sivuston suosio on romahtanut, katselijoita kyllä riittää, mutta julkisia jakoja ei. Mikähän tuohon on johtanut?

    • Anonyymi

      Imaqickin asentamisessa taitaa palaa aikaa, ei mennyt toisellakaan kerralla.

    • Anonyymi

      Kaikki menee ohjeen mukaan, mutta phpinfoon ei tule omaa kohtaansa imagickille...

    • Anonyymi

    Ketjusta on poistettu 1 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Poliisi: Kymmenhenkinen pohjalaisperhe ollut vuoden kateissa kansainvälinen etsintäkuulutus Poliis

      Poliisi: Kymmenhenkinen pohjalaisperhe ollut vuoden kateissa – kansainvälinen etsintäkuulutus Poliisi pyytää yleisön apu
      Maailman menoa
      468
      4187
    2. Tässä totuus jälleensyntymisestä - voit yllättyä

      Jumalasta syntyminen Raamatussa ei tässä Joh. 3:3. ole alkukielen mukaan ollenkaan sanaa uudestisyntyminen, vaan pelkä
      Jälleensyntyminen
      318
      1732
    3. Mitään järkeä?

      Että ollaan erillään? Kummankin pää on kovilla.
      Ikävä
      117
      1567
    4. En kadu sitä, että kohtasin hänet

      mutta kadun sitä, että aloin kirjoittamaan tänne palstalle. Jollain tasolla se saa vain asiat enemmän solmuun ja tekee n
      Ikävä
      89
      1494
    5. Noniin rakas

      Annetaanko pikkuhiljaa jo olla, niin ehkä säilyy vienot hymyt kohdatessa. En edelleenkään halua sulle tai kenellekään mi
      Ikävä
      99
      1438
    6. Oisko mitenkään mahdollisesti ihan pikkuisen ikävä..

      ...edes ihan pikkuisen pikkuisen ikävä sulla mua??.. Että miettisit vaikka vähän missähän se nyt on ja oiskohan hauska n
      Ikävä
      60
      1405
    7. Lapuan sanomissa käy rytinä

      Pistivät sitten päätoimittajan pihalle
      Lapua
      52
      1356
    8. Helena Koivu : Ja kohta mennään taas

      Kohta kohtalon päivä lähestyy kuinka käy Helena Koivulle ? Kenen puolella olet? Jos vastauksesi on Helenan niin voisi
      Kotimaiset julkkisjuorut
      99
      1272
    9. Oot ihana

      Toivottavasti nähdään sattumalta jonain kesäpäivänä♥️🥺🫂
      Ikävä
      45
      1129
    10. Au pair -työ Thaimaassa herättää kiivasta keskustelua somessa: "4cm torakoita, huumeita, tauteja..."

      Au pairit -sarjan uusi kausi herättää keskustelua Suomi24 Keskustelupalvelussa. Mielipiteitä ladataan puolesta ja vastaa
      Tv-sarjat
      34
      1098
    Aihe