Ok ich versuche es mal.
Mit einem PHP-Skript wird eine Grafik erstellt. Je nach Eingabe ins Formular werden verschiedene Grafiken geladen und aus den verschiedenen Grafiken eine einzige Grafik gebildet. Funktioniert auch perfekt.
Jetzt möchte ich aber gerne Zwischenraum-Grafiken einbauen. Deswegen habe ich die Variable $Soll_Breite erstellt die duch das Formular mit einem Wert wie 200, 250, 300 usw. gefüllt wird.
Jetzt soll das Skript die User eingaben prüfen und die Grafik-Breite berechnen. Die $Soll_Breite wird hierbei erst einmal ignoriert.
Ist nun die Tatsächliche Breite ermittelt soll folgendes passieren.
Soll-Breite - Tatsächliche Breite = Fehlende Breite
Ist die Soll-Breite 200 und die Tatsächliche Breite 199, ergibt das einen Wert von 1. Also es fehlt 1px in der Grafik um die gewünschte Breite zu erreichen.
Mit diesem Code:
PHP:
$Soll_Breite = '200';
$Ist_Breite = '199';
$Mathe = ($Soll_Breite - $Ist_Breite)/2;
$Mathe = array($Mathe,$Mathe);
if( ($Mathe[0] +$$Mathe[1]) < ($Soll_Breite - $Ist_Breite) ){
$Mathe[1]++;
}
errechnet das Skript das 1px fehlt und teilt diese auf in $Mathe[0] und $Mathe[1]. Da der inhalt aber 0,5 ist und es keine halben pixel gibt, wird die Grafik am Ende 199px oder 201px Breit je nach "Rundungs-Methode".
Mit dem Code von yaslaw macht er nun das richtige und erstellt eine 200px Grafik aber wenn es Aufgrund der Grafiken keine "Komma-Zahlen" zustande kommt, passiert nichts. Die Grafik wird ohne Zwischenraum-Grafiken erstellt.