Sida 2 av 2

Re: Infoga bilder

Postat: 22 aug 2016 17:43
av bylund
Tapatalk torde inte vara relevant för denna övning då de bilderna processas och hostas av tapatalk.

Re: Infoga bilder

Postat: 22 aug 2016 17:47
av TiborBlomhall
Exakt, måste använda nya "Ladda upp bild" fältet under textrutan på webbsidan.

OK, testa igen.

Re: Infoga bilder

Postat: 22 aug 2016 17:49
av bylund
IPhone uppochner
image.jpg

Re: Infoga bilder

Postat: 22 aug 2016 18:03
av Kirre
Ok, nytt försök inifrån safari - ladda upp bild - Placera inom inlägget
IMG_2653.JPG

Re: Infoga bilder

Postat: 22 aug 2016 18:06
av Kirre
IMG_2611.JPG
Liggande inifrån Safari.

Re: Infoga bilder

Postat: 22 aug 2016 18:19
av TiborBlomhall
OK, hinner inte mer idag.
Återställt koden till det gamla.

Kan nån mejla mig 4 iPhone bilder tagna ett åt varje håll (dvs med 90 graders rotation mellan varje bild?) så kan jag testa själv?

tibor.blomhall teslaclubsweden.se

Re: Infoga bilder

Postat: 22 aug 2016 18:22
av TiborBlomhall
Förresten det är ju massor med folk som kan mer om php än mig här på forumet. Vad är det som är fel:

Kod: Markera allt

  // Modify these params accordingly to suit your installation
  $nMaxWidth = 1024;
  $nMaxHeight = 1024;
  $nJPEGCompression = 75;
  $imgMaxBytes = 256*1024;

  // You may want to modify this "if this attachment an image" check.. at the moment I'm using this:

  if (strpos($file->get('mimetype'), 'image/') === 0) {
    $sImgSourceFilename = $file->get('filename');
    $imgBytes = $file->get('filesize');
    if ($arrImageData = @getimagesize($sImgSourceFilename)) {

      $nImageType = $arrImageData[2];

      switch ($nImageType) {
        case IMG_GIF:
          $imgSource = @imagecreatefromgif($sImgSourceFilename);
          break;
        case IMG_JPG:
          $imgSource = @imagecreatefromjpeg($sImgSourceFilename);
          break;
        case IMG_PNG:
          $imgSource = @imagecreatefrompng($sImgSourceFilename);
          break;
        case IMG_WBMP:
          $imgSource = @imagecreatefromwbmp($sImgSourceFilename);
          break;
        default:
          $imgSource = null;
          break;
      }

      // Assuming we managed to read in the image OK..
      if ($imgSource) {
        $nImgWidth = $arrImageData[0];
        $nImgHeight = $arrImageData[1];
        $doResize = false;

/*        $exif = exif_read_data($sImgSourceFilename);
        if (!empty($exif['Orientation'])) {
            switch ($exif['Orientation']) {
                case 3:
                    $imgSource2 = imagerotate($imgSource, 180, 0);
                    $doResize = true;
                    break;

                case 6:
                    $imgSource2 = imagerotate($imgSource, -90, 0);
                    $nImgWidth = $arrImageData[1];
                    $nImgHeight = $arrImageData[0];
                    $arrImageData[1] = $nImgWidth;
                    $arrImageData[0] = $nImgHeight;
                    $doResize = true;
                    break;

                case 8:
                    $imgSource2 = imagerotate($imgSource, 90, 0);
                    $nImgWidth = $arrImageData[1];
                    $nImgHeight = $arrImageData[0];
                    $arrImageData[1] = $nImgWidth;
                    $arrImageData[0] = $nImgHeight;
                    $doResize = true;
                    break;
            }
            imageDestroy($imgSource);
            $imgSource = $imgSource2;
        }
*/
        if ($nImgHeight > $nMaxHeight || $nImgWidth > $nMaxWidth || $imgBytes > $imgMaxBytes) { 
          $doResize = true;
          // otherwise image width and/or height exceed our max dimensions
          // work out the new widht/height for downward proportional resampling:
          if ($nImgHeight > $nMaxHeight) {
            $nRatio = ($nImgWidth / $nImgHeight);
            $nImgHeight = $nMaxHeight;
            $nImgWidth = round($nMaxHeight * $nRatio);
          }
          if ($nImgWidth > $nMaxWidth) {
            $nRatio = ($nImgHeight / $nImgWidth);
            $nImgWidth = $nMaxWidth;
            $nImgHeight = round($nMaxWidth * $nRatio);
          }
        }

        if ($doResize) {
          $imgScaled = ImageCreateTrueColor($nImgWidth, $nImgHeight);
          if (imagecopyresampled($imgScaled, $imgSource, 0, 0, 0, 0, $nImgWidth, $nImgHeight, $arrImageData[0], $arrImageData[1]))
            imagejpeg($imgScaled, $sImgSourceFilename, $nJPEGCompression);
          imageDestroy($imgScaled);
        }
        imageDestroy($imgSource);
      }
    }
  }

Koden för import av bilder i forumet, de skalas om de är för stora.
EXIF-roteringen jag la till är det bortkommenterade i koden. Resten fanns där sen förut.

Re: Infoga bilder

Postat: 22 aug 2016 18:47
av Svenssons
Kan inte testa detta själv, bara lite snabb Google Fu men det kanske är fel version av phpBB så att det kanske inte funkar:

https://www.phpbb.com/community/viewtop ... #p13241074

Re: Infoga bilder

Postat: 22 aug 2016 19:19
av bylund
TiborBlomhall skrev:
OK, hinner inte mer idag.
Återställt koden till det gamla.

Kan nån mejla mig 4 iPhone bilder tagna ett åt varje håll (dvs med 90 graders rotation mellan varje bild?) så kan jag testa själv?

tibor.blomhall teslaclubsweden.se
Skickat.

Re: Infoga bilder

Postat: 22 aug 2016 19:32
av TiborBlomhall
Tack alla, nu har jag fått bilder att leka med :D

Re: Infoga bilder

Postat: 22 aug 2016 19:34
av mati
TiborBlomhall skrev:
Förresten det är ju massor med folk som kan mer om php än mig här på forumet. Vad är det som är fel:

Kod: Markera allt

 
                    $imgSource2 = imagerotate....
                    $nImgWidth = $arrImageData[1];
                    $nImgHeight = $arrImageData[0];
                    $arrImageData[1] = $nImgWidth;
                    $arrImageData[0] = $nImgHeight;
 
Jag är ingen expert på php, men du kopierar bredd till bredd och höjd till höjd. Ska det inte index 0 och 1 vara tvärtom i de sista raderna?

Re: Infoga bilder

Postat: 22 aug 2016 20:10
av TiborBlomhall
Jag verkar ha fått till det nu!

Istället för att försöka kombinera skalning och rotation skalar jag nu först, och sedan roterar den lilla bilden. Då funkar det.

Kan ni testa lägga upp från iPhone nån felvänd bild?

Re: Infoga bilder

Postat: 22 aug 2016 20:22
av Tars
Bild
Ska vara uppochner

Re: Infoga bilder

Postat: 22 aug 2016 20:23
av Tars
Vi har förresten strömavbrott. En stackars grävmaskinist grävde av den och det resulterade i 814 hem utan el.
Skulle ha installerat batterbackupen som ligger i pannrummet......

Re: Infoga bilder

Postat: 22 aug 2016 20:35
av TiborBlomhall
Tars skrev:
Bild
Ska vara uppochner
Tack men nån som kan ladda upp direkt från iphone via webbsidan, inte Tapatalk.

Re: Infoga bilder

Postat: 22 aug 2016 20:45
av Tars
TiborBlomhall skrev:
Tars skrev:
Bild
Ska vara uppochner
Tack men nån som kan ladda upp direkt från iphone via webbsidan, inte Tapatalk.
Aha, sorry.

Re: Infoga bilder

Postat: 22 aug 2016 21:13
av bylund
image.jpg
Uppochner på iPhone.

Re: Infoga bilder

Postat: 22 aug 2016 21:17
av TiborBlomhall
* V * I * C * T * O * L * Y * ! * :D

Re: Infoga bilder

Postat: 22 aug 2016 21:22
av bylund
Eftersom jag ändå bara väntar testar vi Android också
14718936350481892241495.jpg

Re: Infoga bilder

Postat: 22 aug 2016 22:27
av danni
Bra jobbat, Tibor!

Re: Infoga bilder

Postat: 23 aug 2016 09:33
av Pontus
Provar samma bild som tidigare.
image.jpeg

Re: Infoga bilder

Postat: 23 aug 2016 09:35
av Pontus
Ha, va bra. Du har förlängt livet på min iphone då det nu var nära att den gavs till någon mindre varsam person (en unge). :)