php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.07.2008, 15:43  
Neuer Benutzer
 
Registriert seit: 01.07.2008
Beiträge: 19
KokosDesign befindet sich auf einem aufstrebenden Ast
KokosDesign eine Nachricht über ICQ schicken KokosDesign eine Nachricht über MSN schicken
Standard [Erledigt] Problem mit Foto Upload von Hochformat auf Querformat

Hallo zusammen,

ich hab vor einiger Zeit für einen Kunden ein Fotoupload erstellt, dabei müssen die Fotos alle auf exakt 420x300 Pixel verkleinert werden weil sie später in einer Flashanimation erscheinen. Fotos in Hochformat werden dabei auf einen farbigen Hintergrund kopiert.

Hier der Code
PHP-Code:
   //Größe und position bestimmen
      //Wenn Bild zu groß
            
if(($breite $bgbreite) OR ($hoehe $bghoehe)) {
        
//Breitformat
                
if($breite $hoehe) {
                    
$neuehoehe intval($hoehe $bgbreite $breite);
          
$neuebreite $bgbreite;
                    }
        
//Hochformat
                
else {
                    
$neuebreite intval($breite $bghoehe $hoehe);
          
$neuehoehe $bghoehe;
          
$neuX intval(($bgbreite/2) - ($neuebreite/2));
                    }
                }
            else {
                
$neuebreite $bgbreite;
                
$neuehoehe $bghoehe;
                }

    
        
// JPG verkleinern und speichern
      
$bgbild imagecreatefromjpeg("../acp/images/gallerie_bg_".$zugang["gallerie_bg"].".jpg");
      
$altesbild imagecreatefromjpeg($temp_file);
      
imagecopyresampled($bgbild,$altesbild,$neuX,0,0,0,$neuebreite,$neuehoehe,$breite,$hoehe); 
            
imagejpeg($bgbild,$upload_file,$fotoqualitat); 
Das Problem liegt jetzt bei der X-Ausrichtung ($neuX). Fotos im Hochformat werden zwar richtig skaliert aber erscheinen dann später nicht mittig sondern zu weit rechts. Hier ein Beispiel:



Das Kopieren auf den Hintergrund hatte ich zuerst mit imagecopyresized() und jetzt hab ichs auf imagecopyresampled(). Das Beipsiel ist noch mit imagecopyresized() deshalb auch die schechte Auflösung.

Hat jemand eine Idee warum die X-Position des Hochformat-Fotos nicht richig berechnet wird? Ich hab übrigens die Berechung von $neuX mit intval() und ohne Probiert. Macht kein sichbaren unterschied.
KokosDesign ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.07.2008, 15:57  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.814
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Lass dir doch mal $neuX ausgeben und dazu noch alte Höhe/Breite neue Höhe/Breite und berechne mal die Werte selbst. Dann weißt du ob bei der Berechnung der Fehler liegt (sieht für mich allerdings richtig aus) oder beim Bild erstellen.

Übrigens brauchst du intval() nur um etwas in eine Zahl zu konvertieren. Da du aber nur mit Zahlen rechnest brauchst du diese nicht nochmal in eine Zahl umwandeln. Lass also intval() weg.
Flor1an ist offline  
Alt 22.07.2008, 16:24  
Neuer Benutzer
 
Registriert seit: 01.07.2008
Beiträge: 19
KokosDesign befindet sich auf einem aufstrebenden Ast
KokosDesign eine Nachricht über ICQ schicken KokosDesign eine Nachricht über MSN schicken
Standard Rechnung stimmt

Ausgabe:
$neuX = 124
$neuebreite = 199
$neuehoehe = 300
$breite = 447
$hoehe = 300;

Rechnung:
447/2 - 199/2 = 124
Stimmt.

Und ich dachte mir es gibt keine halben Pixel deshalb verschwinden mit intval() die Nachkommastellen. Ohne intval() ist es aber auch nicht richig ausgerichtet.

Habe das Bild mal mit einem Fotoprogramm in die mitte verschoben und bei den oben stehenden Angaben müsste die linke obere ecke des fotos bei 111px von links liegen.

Hat jemand noch eine Idee?
KokosDesign ist offline  
Alt 22.07.2008, 16:34  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Ähm wenn du eine Breite von 420 haben willst, dann müsstest du doch

420/2 - bildbreite/2 rechnen um an die Linke kante zu kommen?
cycap ist offline  
Alt 22.07.2008, 16:43  
Neuer Benutzer
 
Registriert seit: 01.07.2008
Beiträge: 19
KokosDesign befindet sich auf einem aufstrebenden Ast
KokosDesign eine Nachricht über ICQ schicken KokosDesign eine Nachricht über MSN schicken
Standard

Stimmt!!! Da war wohl noch der falsche Wert eingetragen weil ich die Größe ändern musste. Also dann hat sich das hier erledigt es funktioniert jetzt.

Vielen Dank
KokosDesign ist offline  
Alt 22.07.2008, 16:52  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

ich glaub ich verschieb das mal ins Einsteiger-Forum
cycap ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Sicherheitsfrage mit Sessions - Problem mit Intellitamper Leibi PHP-Fortgeschrittene 26 03.07.2008 12:38
[Erledigt] Statistik Script Referrer Problem 7Style PHP Tipps 2008 28 01.07.2008 15:14
[Erledigt] Problem mit Grafik pfump PHP Tipps 2008 7 23.06.2008 11:24
[Erledigt] Problem mit 0,5 beim Rechnen Quest15041983 PHP Tipps 2008 3 07.06.2008 12:55
[Erledigt] Loginbox Problem abu PHP Tipps 2008 0 02.06.2008 07:54
[Erledigt] Problem mit OOP freehawk PHP Tipps 2008 3 25.05.2008 22:21
[Erledigt] Problem mit DATETIME TheJT PHP Tipps 2008 2 19.05.2008 15:30
FTP Upload Problem Plague PHP Tipps 2006 0 26.08.2006 02:56
Problem mit File Upload b++ PHP Tipps 2006 2 26.04.2006 20:35
upload problem LP PHP Tipps 2006 10 08.02.2006 23:24
Problem mit Upload Code PHP Tipps 2005 3 15.05.2005 15:49
Bild Upload Problem test022 PHP Tipps 2005 19 28.04.2005 15:35
Bilder Upload Problem unter Firefox... becks123 PHP Tipps 2005 19 16.04.2005 12:12
[Erledigt] [erledigt] Problem mit Count() Datenbanken 7 17.03.2005 13:59
[Erledigt] [PHP] Problem mit Script fuer Browserbasierten Upload PHP-Fortgeschrittene 5 26.12.2004 13:49

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
hochformat in querformat umwandeln, querformat in hochformat umwandeln, jpg in acp umwandeln, html bild hochformat, bilder von hochformat in querformat umwandeln, fotos hochformat in querformat umwandeln, bilder von hochformat in querformat mit php, php bild hochformat, bild von hochformat in querformat ändern, jpg hochformat in querformat umwandeln, bild querformat in hochformat umwandeln, jpg hochformat in querformat, fotos in querformat umwandeln, foto querformat in hochformat, fotos von querformat ins hochformat umwandeln, kann man bilder von quer ins hochformat umwandeln, php bild verkleinern hochformat, hochformat auf querformat php, php hochformat zu querformat, hochformat in breitformat umwandeln

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum