Aus 3 Bildern 1 machen oder 3 Bilder mit einer Mail versenden

Hallo, eigentlich bin ich auf der Suche wie ich mit einer Mail mehr als 1 Bild versenden kann. Vor einiger Zeit habe ich von einem Lösungsansatz gehört bei dem per Script aus 3 Bildern eins gemacht wird um das dann zu versenden. Leider finde ich dazu nichts.

Kennt einer ein entsprechendes Script oder eine Möglichkeit 3 Bilder an eine eMail zu hängen?

Hallo
Ich glaube du meinst mein Script. Damals hab ich aus 3 Bilder eins gemacht zum versenden.
Jetzt sind es schon 4.

function PuzzleRingPictures($bild0,$bild1,$bild2,$bild3)
	{

	$target = IPS_GetKernelDir()."\\Webfront\\Ring.jpg";

	$breite = 640;
	$hoehe  = 480;
	
	$image     = imagecreatetruecolor ( $breite ,(4*$hoehe) + 6 );

	$bild_null = imagecreatefromjpeg($bild0);
	$bild_eins = imagecreatefromjpeg($bild1);
	$bild_zwei = imagecreatefromjpeg($bild2);
	$bild_drei = imagecreatefromjpeg($bild3);

	imagecopy ($image, $bild_null, 0,   0, 0, 0, $breite,$hoehe);
	imagecopy ($image, $bild_eins, 0, 483, 0, 0, $breite,$hoehe);
	imagecopy ($image, $bild_zwei, 0, 965, 0, 0, $breite,$hoehe);
	imagecopy ($image, $bild_drei, 0,1448, 0, 0, $breite,$hoehe);

	imagejpeg($image,$target);

	//Bilder aus dem Speicher löschen
	imagedestroy($bild_null);
	imagedestroy($bild_eins);
	imagedestroy($bild_zwei);
	imagedestroy($bild_drei);

	
	return $target;
	}

Genua, hatte jetzt gestern zwar was in einem PHP Forum gefunden das deinem fast gleich kommt nur mit dem Befehl „imagecopymerge“ arbeitet. MIt der Lösung bin ich aber nicht zufrieden da hier die Farben total verfälscht werden…

Arbeite das mal mit deinem Befehl um :slight_smile: Danke

Hab jetzt beide Befehle ausprobiert und bin bei deinem stehen gebliben.

	//-------------------------- Bilder für den Versand aufbereiten -------------------------------------------------------

	//Bilder aus dem Grabber/Speicher in eine Datei schreiben
	
	$MediaID1 = 49901 /*[Haus\Zimmer\Außen\CAM's\Image Grabber (Front)\Image Grabber Front]*/;
	$Inhalt1 = base64_decode(IPS_GetMediaContent($MediaID1));
	$name1 = "Front.jpg";
	$Lokale_BildDatei1 = IPS_GetKernelDir()."\\cams\\".$name1;  // z.B.  C:\IP-Symcon\cams\Tür.jpg

   $MediaID2 = 23257 /*[Haus\Zimmer\Außen\CAM's\Image Grabber (Door)\Image Grabber Door]*/;
	$Inhalt2 = base64_decode(IPS_GetMediaContent($MediaID2));
	$name2 = "Door.jpg";
	$Lokale_BildDatei2 = IPS_GetKernelDir()."\\cams\\".$name2;  // z.B.  C:\IP-Symcon\cams\Tür.jpg


	file_put_contents($Lokale_BildDatei1, $Inhalt1);
   file_put_contents($Lokale_BildDatei2, $Inhalt2);
   
	// Aus 2 Bildern 1 machen
	$neu = @ImageCreate (1920, 2160);
	$oben = imagecreatefromjpeg($Lokale_BildDatei1);
	$unten = imagecreatefromjpeg($Lokale_BildDatei2);
	imagecopy($neu,$oben,0,0,0,0,1920,1080);
	imagecopy($neu,$unten,0,1080,0,0,1920,1080);

	// neues Bild erstellen
	$name0 = "Übersicht.jpg";
	$Lokale_BildDatei0 = IPS_GetKernelDir()."\\cams\\".$name0;
	imagejpeg($neu,$Lokale_BildDatei0);

	// Bild aus dem Speicher löschen
	imagedestroy($oben);
	imagedestroy($unten);
	imagedestroy($neu);
	
	//Bild versenden
	SMTP_SendMailAttachment($Mailer, $Betreff, $Message, $Lokale_BildDatei0);

Allerdings habe ich noch immer das die Farben der Bilder total verfälscht sind. Kann mir jemand sagen woran das liegt?

Hallo
Benutze mal den Befehl den ich benutzt habe

imagecreatetruecolor

anstatt

ImageCreate

Wenn ich anstelle

imagecreate

,

$neu = @ImageCreatetruecolor (1920, 2160);

setze, bekomme ich folgende Fehlermeldung:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 7680 bytes)

Erstelle ich allerdings ein kleiners Bild bekomme ich von der Cam nicht den gesamten Bildabschnitt drauf…

Ich kann zwar die Auflösung der Kamera runtersetzen aber ich wollte das extra in der Auflösung aufzeichnen damit man hinterher auch noch Einzelheiten erkennen kann.

3 Mail verschicken würde es wahrscheinlich einfacher gestalten und du hättest etwas höhere Sicherheit, dass die Mails auch ankommen.
Mails mit Attachments größer 2 MB sind „nicht unbedingt sicher“ beim Versand, es kann sein, dass ein Mailserver sie „einfach weg wirft“.