Bilderupload (Text auf Bilder)

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Domitz
Mitglied
Beiträge: 209
Registriert: 18.11.2006 17:29

Bilderupload (Text auf Bilder)

Beitrag von Domitz »

Hallo und zwar habe ich folgendes vor.
Auf jedes Bild, was hochgeladen wird soll ein kleiner text (meien Adresse) ganz unten links in die Ecke.

Jetzt wollt ich fragen, wie man das am besten machen kann.

Mein Bilderupload sieht wie folgt aus:

index.php => www.coaster-park.de/bilderupload/index.txt
dbconnect.php => www.coaster-park.de/bilderupload/dbconnect.txt

Aussehen soll es in etwa so: http://www.lupiupload.de/080620/YK5imfix.jpg

Wäre nett, wenn mir da einer etwas helfen könnte, wie ich es am besten mache =)
Benutzeravatar
StarWolf3000
Mitglied
Beiträge: 1019
Registriert: 25.07.2005 10:20
Wohnort: Stolpen
Kontaktdaten:

Beitrag von StarWolf3000 »

1. Vorraussetzungen müssen stimmen (GD muss installiert sein)

wenn du nicht weisst, ob GD installiert ist, erstell eine Datei namens info.php mit nachfolgendem Inhalt, lade sie auf deinen Server und ruf sie übern Browser auf:

Code: Alles auswählen

<?php
phpinfo();
?>
wenn du den Abschnitt "gd" findest, ist alles in Ordnung, wenn nicht, kann man nix machen
lösche die Datei in jedem Fall wieder

2. Der Code (z.B. thumb.php)

Code: Alles auswählen

<?php
$bild = '';
$bild = $_GET['bild'];
$im = imagecreatefromjpeg($bild);
$bild_groesse = getimagesize($_GET['bild']);
$schwarz = imagecolorallocate($im, 0, 0, 0);
$weiss = imagecolorallocate($im, 255, 255, 255);
$size = 12; // Schriftgroesse
$pos_x = 5; // X-Startpunkt der linken unteren Ecke des ersten Zeichens
$pos_y = $bild_groesse[1] - $pos_x; // Y-Startpunkt der linken unteren Ecke des ersten Zeichens
// Schreibe Text in die linke untere Ecke des Bildes 5px vom Bild-Rahmen entfernt, mit Groesse 12 und in Verdana
imagettftext($im, $size, 0, $pos_x, $pos_y, $weiss, "./Verdana.ttf", "www.adresse.de");
header("Content-Type: image/jpeg");
imagejpeg($im);
imagedestroy($im);
?>
3. Was zu beachten ist
imagettftext() erwartet eine TTF-Datei im selben Verzeichnis wie das Script (z.B. Verdana.ttf), diese ist aus dem Windows/Fonts-Ordner zu kopieren, umzubenennen und mit hochzuladen
Einbindung des Scriptes über:

Code: Alles auswählen

<img src="thumb.php?bild=bild.jpg">
Wenn Probleme auftreten, dass .php-Dateien nicht über <img> eingebunden werden können, benenne die thumb.php in thumb.jpg um, erstelle eine Datei namens .htaccess mit folgendem Inhalt:

Code: Alles auswählen

AddType application/x-httpd-php thumb.jpg
MOD-Einbauhilfe und Installationen über ICQ, TeamSpeak 2/3 und TeamViewer. Support nur im Forum, eingeschränkt per TeamViewer, aber nicht mehr per PN! • KB:knigge
Benutzeravatar
Asmodiel
Mitglied
Beiträge: 568
Registriert: 31.03.2006 14:16
Wohnort: Kassel
Kontaktdaten:

Beitrag von Asmodiel »

hallo starwolf, hallo domitz
@starwolf: das bringt aber nur das, dass das bild nur über diese thumb.php diese aufschrift hat.
@domitz: so weit ich weiß gehts nicht anders ;)
Schönen gruß, Asmodiel
Linus Thorvals hat geschrieben:Intelligence is the ability to avoid doing work, yet getting the work done.
Benutzeravatar
StarWolf3000
Mitglied
Beiträge: 1019
Registriert: 25.07.2005 10:20
Wohnort: Stolpen
Kontaktdaten:

Beitrag von StarWolf3000 »

Asmodiel hat geschrieben:@starwolf: das bringt aber nur das, dass das bild nur über diese thumb.php diese aufschrift hat.
mag schon sein, aber ich hab noch mehr in petto:

Code: Alles auswählen

<?php
function addAdress($bild, $text)
{
	$im = imagecreatefromjpeg($bild);
	$bild_groesse = getimagesize($bild);
	$ziel = imagecreate($bild_groesse[0], $bild_groesse[1]);
	imagecopy($ziel, $im, 0, 0, 0, 0, $bild_groesse[0], $bild_groesse[1]);
	$schwarz = imagecolorallocate($ziel, 0, 0, 0);
	$weiss = imagecolorallocate($ziel, 255, 255, 255);
	$size = 12; // Schriftgroesse
	$pos_x = 5; // X-Startpunkt der linken unteren Ecke des ersten Zeichens
	$pos_y = $bild_groesse[1] - $pos_x; // Y-Startpunkt der linken unteren Ecke des ersten Zeichens
	// Schreibe Text in die linke untere Ecke des Bildes 5px vom Bild-Rahmen entfernt, mit Groesse 12 und in Verdana
	imagettftext($ziel, $size, 0, $pos_x, $pos_y, $weiss, "./Verdana.ttf", $text);
	imagejpeg($ziel, $bild);
	imagedestroy($ziel);
	imagedestroy($im);
}
?>
Dieser Code kann nun über eine for-Schleife in der index.php auf jedes Bild angewandt werden, er überschreibt alle .jpg-Dateien
MOD-Einbauhilfe und Installationen über ICQ, TeamSpeak 2/3 und TeamViewer. Support nur im Forum, eingeschränkt per TeamViewer, aber nicht mehr per PN! • KB:knigge
Benutzeravatar
Asmodiel
Mitglied
Beiträge: 568
Registriert: 31.03.2006 14:16
Wohnort: Kassel
Kontaktdaten:

Beitrag von Asmodiel »

ich würde es lieber in der footer packen, dass er es mit allen bildern macht.
obwohl dann auch die smilies und andere stylebilder davon betroffen sind.
es sei denn, man ändert die bbcode funktion, die dann nicht mehr <img src=""> machen soll, sondern <img src="" id="uploaded">.
und dann die funktion so abändern, dass sie nur die id="uploaded" betrifft, also die mit bbcode eingefügten bilder.
(gute idee für nen mod)
das problem dabei ist glaub ich, dass der liebe domitz das für den uploader braucht, wobei das linking eine frage spielt.
denn wenn du das in den phpbb-teil einbindest kommst du immernoch an das bild.
es sei denn man gibt dan im uploader immer nur die thumb.php?id=blubb an und verbindet den uploader mit einer db. (was den vorteil hat, dass man nicht direkt an den bildpfad kommt, sondern immer nur das mit (c) versehene bild sieht und dies auch downloaded (bild speichern unter)...)

memo an mich selbst: schreib nicht so viel, wenn du andere dinge zu tun hast.
Schönen gruß, Asmodiel
Linus Thorvals hat geschrieben:Intelligence is the ability to avoid doing work, yet getting the work done.
|L1n3
Mitglied
Beiträge: 15
Registriert: 20.05.2007 22:05
Kontaktdaten:

Beitrag von |L1n3 »

StarWolf bei deinem 2. script blicke ich nicht durch
wie muss ich die php dann aufrufe damit ich z.b. bild1.jpg mit dem thumb zu sehen bekomme ?
Wie kann ich das Script verändern, dass das generierte Bild abgespeichert wird und dies angezeigt ?

Evtl. Währe noch gut zu wissen wie man den text in die Mitte bekommt und mit einem schwarzen hintergrund versieht damit man es auch auf jedem hintergrund sieht.

Echt geiles script !
Bin dir jetzt schon dankbar für jede hilfe
|L1n3
Mitglied
Beiträge: 15
Registriert: 20.05.2007 22:05
Kontaktdaten:

Beitrag von |L1n3 »

starwolf ?
naja kann mir nicht auch jemand anderes helfen ?
wäre echt nett

Danke schonmal
Benutzeravatar
killerbees19
Mitglied
Beiträge: 1185
Registriert: 09.05.2006 17:33
Wohnort: Wien (Österreich)
Kontaktdaten:

Beitrag von killerbees19 »

Wenn du auf php.net schaust, findest du alle Informationen über Grafikerstellung: http://at2.php.net/manual/de/ref.image.php


MfG Christian
» Real programmers don't comment. If it was hard to write, it should be hard to understand!
waldschrat2000
Mitglied
Beiträge: 16
Registriert: 20.02.2006 14:22
Wohnort: Hamburch

Beitrag von waldschrat2000 »

Mal ne ganz doofe Frage: warum nehmt ihr dafür nicht UploadPic und aktiviert das Wasserzeichen?
Antworten

Zurück zu „Coding & Technik“