Beiträge: 124
	Themen: 36
	Registriert seit: 30.09.2012
	
	
 
	
	
		Hi,
ich würde gerne alle Avatarbilder der selben Größe und Format haben. D.h. der User muss ein Bild mit einer Mindestgröße hochladen und das wird dann auf ein Format von 250x400 Pixel zugeschnitten. Hab gehört das ist mit PHP mögich? Könnt ihr mir sagen ob das stimmt und wie das geht, insbesondere welches Dokument ich bearbeiten muss? Google hat mir leider nicht geholfen.
lg
	
	
	
	
	
 
 
	
	
	
		
	Beiträge: 9.560
	Themen: 197
	Registriert seit: 27.12.2007
	
MyBB-Version: 1.8
	
 
	
	
		Hilft Dir evtl. 
das hier?
	
 
 
	
	
	
		
	Beiträge: 124
	Themen: 36
	Registriert seit: 30.09.2012
	
	
 
	
		
		
		27.02.2014, 22:24 
(Dieser Beitrag wurde zuletzt bearbeitet: 27.02.2014, 22:27 von me.lina.)
		
	 
	
		nicht wirklich, das streckt und staucht ja nur.
ich hab folgendes gefunden, aber muss zugeben, dass das für mich fast schon hieroglyphen sind, da ich mit php kaum erfahrung habe. und insbesondere nicht ganz weiß, wie und wo ich das bei mybb einarbeite:
<?php
$org_img = 'quelle.jpg';
$dst_img = 'ziel.jpg';
$crop = 20;
$xy_org = getimagesize($org_img);
$x_new = $xy_org[0] - (2 * $crop);
$y_new = $xy_org[1] - (2 * $crop);
$tmp_img = imagecreatetruecolor($x_new, $y_new);
$src_img = imagecreatefromjpeg($org_img);
imagecopy($tmp_img, $src_img, 0, 0, $crop, $crop, $x_new, $y_new);
imagejpeg($tmp_img, $dst_img, 80);
imagedestroy($tmp_img);
?>
	
	
	
	
	
 
 
	
	
	
		
	Beiträge: 8.516
	Themen: 59
	Registriert seit: 20.04.2010
	
MyBB-Version: 1.8*
	
 
	
	
	
	
Mit freundlichen Grüßen
MrBrechreiz
	
	
 
 
	
	
	
		
	Beiträge: 124
	Themen: 36
	Registriert seit: 30.09.2012
	
	
 
	
	
		auch nicht so recht so wie es aussieht. aber so langsam fummel ich mich in php rein. hat mich zwar wieder viel mehr zeit (und schlaf) gekostet als ich eigtl habe, aber ich hab den obigen code für meine Bedürfnisse umgeschrieben. Das Bild wird erst auf eine höhe von 450 pixel verkleinert, dann auf eine Breite von 250 pixel zentriert zugeschnitten. Anschließend werden ein neuer pfad und die neuen maße in der datenbank gespeichert. wahrscheinlich gehts schöner, aber es tut was es soll. alte bilder werden beim upload neuer gelöscht. 
übrigens musste ich die functions_upload.php bearbeiten, als Antwort zu meiner gestellten Frage.
hier noch der code:
Code:
    // Avatarformat anpassen
    
$org_img = $avatarpath."/".$filename;
$dst_img = $avatarpath."/cut/".$filename;
$size = @getimagesize($avatarpath."/".$filename);
$src_img = imagecreatefromjpeg($org_img);
$v=$size[0]/$size[1];
$b_n=$v*450;
$tmp1_img = imagecreatetruecolor($b_n,450);
imagecopyresampled($tmp1_img, $src_img, 0, 0, 0, 0, $b_n, 450, $size[0], $size[1]);
imagejpeg($tmp1_img, $avatarpath."/small/".$filename);
imagedestroy($src_img);
$x_new = 250;
$y_new = 450;
$u=($b_n - 250)/2;
$tmp2_img = imagecreatetruecolor($x_new, $y_new);
$src2_img = imagecreatefromjpeg($avatarpath."/small/".$filename);
imagecopy($tmp2_img, $src2_img, 0, 0, $u, 0, $x_new, $y_new);
imagejpeg($tmp2_img, $dst_img, 80);
imagedestroy($tmp2_img);
    
    
    
    // Everything is okay so lets delete old avatars for this user
    remove_avatars($uid, $filename);
    remove_avatars($uid, "/small/".$filename);
    remove_avatars($uid, "/cut/".$filename);
    $ret = array(
        "avatar" => "./uploads/avatars/cut/".$filename,
        "width" => intval(250),
        "height" => intval(450)
    );