• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

PHP GD - Schriftzug... und ich blicks nicht mehr

braegler

Aktiver NGBler

Registriert
14 Juli 2013
Beiträge
904
Tach zusammen,
ich hab die letzten Tage eines meiner Projekte von einem älteren Server auf einen neuen Server umgezogen.
Alles Prima, nur macht mir ein Problem mit GD nun ein Strich durch die Rechnung.

Hintergrund:
Ich betreibe (unter anderem) die Seite Wolffiles.de, bei der es rund um RtCW und Enemy Territory geht, mit massig Maps, Mods, Testservern und Co.
In der Datei-Ansicht hatte ich (bis zum Umzug) mittels GD einen Schriftzug eingeblendet, der nun aber ums Verrecken nicht mehr will.

Hier mal der Code dazu:
[src=php]<?php

$fullwidth=600;
$fullheight = 100;
$ttf="/srv/www/wolffiles/work/wolfenstein.ttf";
$text=$_GET['txt'];

Header ("Content-type: image/gif");

$size=30;

$sstart = 10;

do {
$sstart = $sstart + 10;
$recttmp = imagettfbbox($sstart, 0, $ttf, $text);
$twidth = abs($recttmp[2]);
$theight = abs($recttmp[7]);
} while ($twidth < $fullwidth AND $theight < $fullheight);

$size = $sstart - 13;
$mysize = $size;


$rect = imagettfbbox($size, 0, $ttf, $text);
$width = abs($rect[2]);
$half = $width / 2;
$halfwidth = $fullwidth / 2;
$height = abs($rect[7]);
$off = $halfwidth - $half;




$heightoff = 100 - ($fullheight - $height) / 2;
$newheight = $height + 2;
$newheight = $fullheight + 20;

$im = imagecreate ($fullwidth, $newheight );
$black = ImageColorAllocate ($im, 0, 0, 0);
$index = imagecolorexact($im, 0, 0, 0);
imagecolortransparent($im, $index);





$white = ImageColorAllocate ($im, 195, 4, 5);
ImageTTFText ($im, $size, 0, $off, $heightoff, $white, $ttf, "$text" );
ImageGif ($im);
ImageDestroy ($im);
?>[/src]

Aufgerufen wird der z.B. mittels Bild Source = http://wolffiles.de/work/labelpic.php?txt=Test

Ich steh nun absolut auf dem Schlauch, wieso das nicht mehr will wie es soll.

Kann mir jemand von Euch einen Tipp geben, woran das liegen könnte.

Vielen Dank schonmal
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.754
Ort
in der Zukunft
ändere doch mal bitte den header auf txt statt gif - dann sollte der Quelltext der erzeugt wird ersichtlich sein
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.754
Ort
in der Zukunft
hm - ein .gif wird in jedem Fall erzeugt - und nicht stattdessen ein Fehler zurück gegeben... evtl. kann die .ttf wegen Rechten / owner nicht gelesen werden?
 

epiphora

aus Plastik
Veteran

Registriert
14 Juli 2013
Beiträge
3.894
Ort
DE-CIX
[src=php]
do {
$sstart = $sstart + 10;
$recttmp = imagettfbbox($sstart, 0, $ttf, $text);
$twidth = abs($recttmp[2]);
$theight = abs($recttmp[7]);
} while ($twidth < $fullwidth AND $theight < $fullheight);
[/src]

Das ist ja nicht gerade der effizienteste Algorithmus. ;) Das braucht für das Wort Test mindestens 11 Iterationen (hab allerdings auch eine andere Schriftart zum Testen verwendet).

Vielleicht steigt Dein Server irgendwann aus, weil er daran zu lange rechnet. Kommentiere die Zeilen mit do und while doch mal aus und prüfe, ob er es mit kleiner Schriftgröße sofort rendert.
 

braegler

Aktiver NGBler

Registriert
14 Juli 2013
Beiträge
904
  • Thread Starter Thread Starter
  • #8
Vielen Dank für den Tipp.
Hat leider nichts gebracht.
Hab nun aus lauter Verzweiflung mal eine andere TTF genommen, plötzlich gings.
Das macht mich fertig :(
MD5s der TTF auf altem und neuem Server sind identisch, also keine Änderung daran.
Auf dem alten läufts, auf dem neuen nicht.

Hab jetzt aber eine Ersatz-TTF gefunden, die der ursprünflichen sehr ähnelt und funktioniert.

Vielen Dank Euch allen.

Bsp: http://wolffiles.de/index.php?filebase&fid=4678
 

Kugelfisch

Nerd

Registriert
12 Juli 2013
Beiträge
2.342
Ort
Im Ozean
Bist du dir sicher, dass die Rechte deiner ursprünglich verwendeten TTF korrekt gesetzt waren? Möglicherweise war sie vom Webserver nicht lesbar?

Unabhängig davon würde sich anbieten, Anstelle der generierten Bilder CSS-@font-face-Deklarationen zu benutzen. Um die Font-Dateien in den für verschiedene Browser benötigten Formaten zu erstellen, kannst du etwa http://www.fontsquirrel.com/tools/webfont-generator nutzen. Dies hat den Vorteil, dass der Text weiterhin im Klartext in deinem HTML-Markup sichtbar und damit für Suchmaschinen, Screenreader oder die Suchfunktion zugänglich bleibt. Ausserdem ist die Qualität auf Bildschirmen mit hoher Pixeldichte und Gerätepixel-unabhängigen CSS-Pixeln (z.B. Tablets, Smartphones, aber auch einige Laptops) wesentlich besser, da die Font dann mit der benötigten Auflösung gerendert werden kann.
 

braegler

Aktiver NGBler

Registriert
14 Juli 2013
Beiträge
904
  • Thread Starter Thread Starter
  • #10
Die Rechte waren richtig gesetzt, sonst hätte ich was davon in der error.log gefunden (gerade getestet).

Die CSS Lösung werd ich auf jeden Fall noch versuchen. Muss nur erst noch ein paar andere Projekte (splatterladder.com zum Beispiel) fertig umziehen.

Vielen Dank für Euren Input :)
 

BlackCrack

der Bastler aus m' Netz

Registriert
5 Jan. 2014
Beiträge
136
Ort
Wo ich lebe, ehrlich ? Hahh im Netz irgendwo, hier
humm was auch sein kann, ist die datei groß geschrieben oder klein, also der erste buchstabe
oder so .. mir iss das beim cssdingens auch schon passiert, daß der font eingetragen war als grosbustabe als erstes und nachher was das ganze klein rüberkopiert worden, weil ich im Total commander vergessen hatte, den hacken "alles in kleinschrift zu kopieren" raus zu nehmen .. dummer fehler , passiert aber einem nur einmal *g*
jo, die ganze suche ..
und die CSSlösung iss die :

[src=css]
/* Font-Family */

@font-face { font-family:dose ; src:url(ttf/DOSEGA.ttf) format("truetype"); }
@font-face { font-family:fixy ; src:url(ttf/fixedsys.ttf) format("truetype"); }

.beispiel { background-color:#000000 ; font-family:dose; font-size :17px; text-decoration : none ; color:#FFFFFF ; }
[/src]

und im div container oder h1 oder sonnst wo kannste dann dahinter class="beispiel" verwenden

liebe Grüße
Blacky
 
Oben