Du bist nicht eingeloggt! Möglicherweise kannst du deswegen nicht alles sehen.
  (Noch kein mods.de-Account? / Passwort vergessen?)
Zur Übersichtsseite
Hallo anonymer User.
Bitte logge dich ein
oder registriere dich!
 Moderiert von: Che Guevara


 Thema: Gehirnsalat ( wir unter uns )
« erste « vorherige 1 ... 1149 1150 1151 1152 [1153] 1154 1155 1156 1157 ... 6582 nächste » letzte »
erste ungelesene Seite | letzter Beitrag 
v!pe

Phoenix
 
Zitat von v!pe

Also, ich habe mich einige Zeit davor drücken können aber jetzt muss ichs doch irgendwann mal umsetzen - wobei ich absolut keinen Plan habe, wie ich das ganze am besten angehen (mir fehlt eigentlich jegliches logisches Denken dafür):

Textfeld 1 Schriftstärke 1 Zeilenumbruch 1
Textfeld 2 Schriftstärke 2 Zeilenumbruch 2
Textfeld 3 Schriftstärke 3 Zeilenumbruch 3
Textfeld 4 Schriftstärke 4 Zeilenumbruch 4
Textfeld 5 Schriftstärke 5 Zeilenumbruch 5
Textfeld 6 Schriftstärke 6 Zeilenumbruch 6


Ich habe also 6 Textfelder mit beliebiger Länge. Dazu gehört ein Auswahlfeld für die Schriftstärke dieses Textes (Mager, Fett, Doppelfett) und die Möglichkeit, nach der Zeile einen Textumbruch zu erzwingen oder nicht.

Was soll gemacht werden? Aus dem Formular soll ein Bild generiert werden. Voraussetzung: 27 Zeichen in der ersten Zeile, anschließend 25 Zeichen pro Zeile mit 2 Zeichen Einrückung.


Problematisch wird es in folgendem Fall:

Textfeld 1, fett, kein Zeilenumbruch gefolgt von Textfeld 2, mager. Nun muss erst der Text aus Textfeld 1 ausgegeben werden, natürlich nach 27 bzw. 25 Zeichen umgebrochen werden und anschließend, direkt in der letzten Zeile soll nun - mit einem neuen Schriftgrad - der Text aus Textfeld 2 ausgegeben werden.

Kann ich aber nicht traurig


Wer schreibts mir?




Nochmal, weil Achsel einfach nicht nachgedacht hat (seine Lösung funktioniert einfach nicht. Punkt.).
24.07.2007 17:59:08  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Achsel-des-Bösen

AUP Achsel-des-Bösen 06.10.2009
Selbst keine Idee habe, aber einen des nicht nachdenkens bezichtigen, das ham wa gerne Breites Grinsen
Wer weiß, vielleicht ist meine Idee ja so weit über deinem Horizont, dass du sie garnicht als solche wahrnimmst. peinlich/erstaunt

Maddin
24.07.2007 18:04:58  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
v!pe

Phoenix
Nö es geht schlicht und einfach nicht so wie du es sagst. Jeder Buchstaben einzeln positionieren mittels
imagettftext()
?

Was passiert wenn Zeilenumbruch doch angeklickt ist? Führ dich doch einfach weiter aus...
24.07.2007 18:33:41  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
#binbash

AUP #binbash 25.03.2008
Willst du noch schreiben für was du das brauchst? War da nicht mal was mit Anzeigen oder so peinlich/erstaunt

Und soll da mitten im Text einfach umgebrochen werden?
24.07.2007 18:41:17  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
v!pe

Phoenix
Na nur wenn Zeile 1 fertig ist und Zeilenumbruch für Zeile 1 aktiviert ist. Natürlich noch nach 27 Zeichen in der ersten Zeile bzw. 25 Zeichen in der 2. Zeile Breites Grinsen
24.07.2007 18:45:58  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
#binbash

AUP #binbash 25.03.2008
Ich werde mal schauen ob ich was zusammenbringe

Es gibt keine Begrenzung für die Textfelder, und das Bild kann theoretisch ziemlich hoch werden?

Und ich will immer noch wissen, für was du das brauchst.
24.07.2007 19:07:42  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
v!pe

Phoenix
Ja so 'n doofen Telefonbucheintrag "simulieren". Eigentlich total bekloppt aber ok.

Das Bild kann beliebig hoch werden.

Zusätzlich gibt es übrigens noch 5 Textfelder mit jeweils einem Bild vorndran und eine "Blickfanglinie" die links des Textes von oben nach unten 2-3 Pixel breit entlangläuft und dann unterhalb des Textes nach rechts läuft.
24.07.2007 19:11:29  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
kinglui69

AUP kinglui69 10.12.2007
moinsn
24.07.2007 19:54:25  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
#binbash

AUP #binbash 25.03.2008
etwas für sehr schlecht befinden


Das sind die 5 Fontgrößen die php zur Verfügung stellt. Das ist zwar nicht wirklich fett und doppelfett, wenn man das dritte als standard nimmt, aber ich habe nicht wirklich lust mich mit fonts rumzuschlagen.

Was tun?
24.07.2007 19:55:57  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
kinglui69

AUP kinglui69 10.12.2007
ghandi, biste da? geht um ttd-update installationen.
24.07.2007 20:04:25  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
v!pe

Phoenix
 
Zitat von #binbash

http://www.abload.de/img/vipe7ms.png

Das sind die 5 Fontgrößen die php zur Verfügung stellt. Das ist zwar nicht wirklich fett und doppelfett, wenn man das dritte als standard nimmt, aber ich habe nicht wirklich lust mich mit fonts rumzuschlagen.

Was tun?


Nimm die Fonts ausm Fontordner (Arial = Mager, Arial Bold = Fett, Arial Black = Dopppelfett).

Falls du es wissen möchtest Augenzwinkern

Es sind glaub ich insg. 10 oder 12 Textfelder frei und 5 oder 6 Stück mit Bild vorne dran.

Zusätzlich gibts übrigens noch Textfelder, bei denen gibt es nie einen Zeilenumbruch und so weiter Augenzwinkern

Ich hab also absolut keinen Bock darauf, weils definitiv meine Aufgaben und Fähigkeiten als Mediengestalter übersteigt.
24.07.2007 20:07:01  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
GH@NDI

ghandi2
Ich bin da Breites Grinsen

@rest
Weis jemand, warum mein Totem scheinbar nicht ALSA verwendet? Wenn XMMS oder Rythmbox einen Song abspielen, ist Totem zickig beim starten und sagt, er könne nicht auf das Audio Gerät zurgreifen.

In den Multimediaeinstellungen habe ich bereits alles auf Alsa umgestellt. An sich tut das auch (z.B. YouTube Video anschauen/hören und nebenbei Musik aus XMMS).

Das ganze Betrifft Ubuntu 7.04 und irgend eine OnBoard AC97 Soundkarte (Nvidia N-Force4, NVIDIA CK804)
24.07.2007 20:07:59  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
kinglui69

AUP kinglui69 10.12.2007
juhu, was muss ich denn alles machen, damit ich die updates (dbset etc) installiert bekomme?
Ich habe ttd installiert und mit openttd-0.5.2-win32.exe gepatcht. In den readme's von den updates steht, dass ich die dateien in das directory "newgrfw" kopieren soll - das hab ich aber gar nicht ?! Geschweige denn die newgrfw.cfg, in der ich irgendwas eintragen soll.
Was muss ich also tun?
24.07.2007 20:14:10  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
GH@NDI

ghandi2
Erm?

Also, openTTD an sich ist ein eigenständiges Programm. Um das zu starten brauchst du lediglich von der Originalinstallation 5 Dateien aus dem data-Verzeichnis:

  1. sample.cat
  2. trg1r.grf
  3. trgcr.grf
  4. trghr.grf
  5. trgir.grf
  6. trgtr.grf


die musst du ins korrespondierende data Verzeichnis in der OpenTTD installation packen.

Dann deine ganzen NewGRFs die du hast kannst du dann in das data/newgrf Verzeichnis packen. Wenns nicht existiert, einfach erstellen.

Anschliesend startest du OpenTTD mittels der ottd.exe. Dann gibts im Menu die Option "NewGRF Einstellungen" dort kannste dann die NewGRFs laden, die du haben magst.

Und dann kannste auch schon loslegen. Allerdings ist zu empfehlen sich die Zeit zu nehmen, mal durch die ganzen "Einstellungen der Patches" zu klicken
24.07.2007 20:23:53  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
#binbash

AUP #binbash 25.03.2008
Hm, theoretisch habe ich es gelöst. Praktisch ist es noch ein (sehr großer) Haufen Schinderei
24.07.2007 20:38:59  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
 
Zitat von v!pe

Nö es geht schlicht und einfach nicht so wie du es sagst. Jeder Buchstaben einzeln positionieren mittels
imagettftext()
?

Was passiert wenn Zeilenumbruch doch angeklickt ist? Führ dich doch einfach weiter aus...


Du kannst mit imagettfbox() rausfinden, wie groß ein Text in Pixeln werden wird, natürlich unter Angabe der Schriftart und -größe.

Nun wird dir nichts anderes übrig bleiben als bei Teilen wo ein Zeilenumbruch benötigt wird solange Zeichen/Wörter abzuschneiden und in die nächste Zeile zu packen (die du wieder per imagettftext von Hand setzen musst), bis die aktuelle Zeile möglich wird. Nebenbei musst du noch drauf achten, das der Text überhaupt reinpasst, das heißt im einfachsten Fall einfach alles abschneiden, was so und so nicht draufpassen kann. Eigentlich gar nicht sooo extrem schwierig.

 
PHP:
<?
$string = "Ich bin ein langer Satz";

$words = explode(" ", $string);

$max_width = 400; // Pixel;

$lines = array();
$tmp = "";
for ($line = 0; true; $line++) {
    foreach ($words as $word) {
        $last_line = $tmp;
        $tmp = $lines[$line] . ' ' . $word;
        $box_bounding = imagettfbox(10, 0, "Arial.ttf", $tmp);

        $width = $box_bounding[2] - $box_bounding[0]; // unten rechts - unten links

        if ($width > $max_width) {
             $lines[] = $last_line;
             continue 2;
        }
    }
}
?>


Das soll nur einen Denkansatz darstellen, ist ungetestet und nur so vor mich hingetippt.

Klar wäre ein toller Objektorientierter Ansatz mit sich selbst zeichnenden Objekten etc. toller (da ist ein tolles Beispiel im Design Patterns Buch), aber das wird für die Aufgabe wohl schlicht zu Aufwändig und geht zuweit über deinen Horizont, ohne dich schlecht machen zu wollen.
24.07.2007 20:46:28  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
kinglui69

AUP kinglui69 10.12.2007
...

peinlich/erstaunt Breites Grinsen
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von kinglui69 am 24.07.2007 20:54]
24.07.2007 20:54:10  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
v!pe

Phoenix
Die Breite ist beliebig und nicht das Thema. Es gilt der feste Satz: 27 Zeichen in Zeile 1, ansonsten 25 Zeichen.
24.07.2007 20:58:13  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
kinglui69

AUP kinglui69 10.12.2007
ghandi du bist super, danke
24.07.2007 21:00:42  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
 
Zitat von v!pe

Die Breite ist beliebig und nicht das Thema. Es gilt der feste Satz: 27 Zeichen in Zeile 1, ansonsten 25 Zeichen.


Dann ists doch gar nicht mehr schwierig. Du musst einfach nur deine Zeichen auf ein Zeilenarray verteilen und herausfinden an welchem Pixel du mit welcher Zeile beginnen musst. Das Basisbild mit den Icons ist statisch, oder?
24.07.2007 21:04:23  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
v!pe

Phoenix
Dann verteil mal meine Zeichen auf ein Zeilenarray, bitte.

Mit passender Schriftart (Mager, Fett, Doppelfett) und so weiter.

Ich weiß es nicht, ich kann es nicht, deshalb frag ich hier. Ich war, bin und bleib Mediengestalter und das geht meiner Meinung nach eher oder stark in die Fachinformatiker/Programmierer-Richtung.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von v!pe am 24.07.2007 21:08]
24.07.2007 21:07:51  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
GH@NDI

ghandi2
 
Zitat von kinglui69

ghandi du bist super, danke



Ich weis!
24.07.2007 21:09:57  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
kinglui69

AUP kinglui69 10.12.2007
verschmitzt lachen
 
Zitat von GH@NDI

 
Zitat von kinglui69

ghandi du bist super, danke



Ich weis!


aber Rechtschreibung ist nicht dein Ding Augenzwinkern
24.07.2007 21:11:54  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
 
PHP:
<?php
$string 
"Ich bin ein sehr sehr sehr langer scheiss Text der umgebrochen werden soll";

var_dump(mit_korrektem_umbruch($string));

function 
scheiss_auf_richtigen_umbruch ($string) {
        
$lines = array();
        
$lines[] = substr($string027);
        
$string substr($string26);
        while (
$string) {
                
$lines[] = substr($string025);
                
$string substr($string24);
        }
        return 
$lines;
}

function 
mit_korrektem_umbruch ($string) {
        
$lines = array();

        
$words explode(" "$string);

        
$line 0;
        foreach (
$words as $word) {
                
$tmp $lines[$line]. ' ' $word;

                if ((
$line == && strlen($tmp) > 27) || strlen($tmp) > 25) {
                        
prev($words);
                        
$line++;
                } else {
                        
$lines[$line] = $tmp;
                }
        }

        return 
$lines;
}
?>
24.07.2007 21:20:54  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
 
Zitat von v!pe

Dann verteil mal meine Zeichen auf ein Zeilenarray, bitte.

Mit passender Schriftart (Mager, Fett, Doppelfett) und so weiter.

Ich weiß es nicht, ich kann es nicht, deshalb frag ich hier. Ich war, bin und bleib Mediengestalter und das geht meiner Meinung nach eher oder stark in die Fachinformatiker/Programmierer-Richtung.


Schraub mal nen Gang runter. Man versucht dir zu helfen. Ob Mager oder Fett ist hier doch erstmal gar nicht wichtig, wenn du doch sagst das die Zeilen eine feste Zeichenbreite haben.

Mit dem Ding aus dem letzten Post hast du die einzelnen Zeilen in einem Array, jetzt musst du nur noch einen Startpunkt (auf der Y- und X-Achse deines Bildes) festlegen, und von da an zur Y-Achse bei jeder neuen Zeile einen Wert hinzuzählen. Der ist dann eben für Doppelfett größer als für Normal. Das wirst du nur durch rausprobieren rausfinden können.

Und uns dauernd vorzuhalten das du das doch nicht kannst weil du Mediengestalter bist bringt dich und uns nicht weiter, im Ernstfall musst du das deinem Chef sagen.
24.07.2007 21:23:51  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
Im übrigen finde ich, dass das eine Sache ist die definitiv nicht hier rein gehört. Das gehört in einen eigenen Thread. Da findest du dann vieleicht auch eher jemanden der dir hilft ohne an der Nervigkeitsschraube zu drehen.
24.07.2007 21:26:34  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
v!pe

Phoenix
Ich mein, ist ja ok wenn du was dazu schreibst aber den Teil hätte ich auch selbst gekonnt weil es einfach bis dahin keine Schwierigkeit darstellt.

Wie setze ich es um, wenn folgendes vorkommt:

Textfeld 1: 50 Zeichen, mager
Textfeld 2: 20 Zeichen, doppelfett

Nun gibt es eine erste Zeile mit 27 Zeichen, die zweite Zeile hat dann noch 23 Zeichen (+ 2 vorne weg, zwecks Einrückung).

Nun gehören 2 Zeichen aus dem Textfeld 2 noch in Zeile 2 und die restlichen 18 Zeichen dann in Zeile 3.

Das Problem ist hierbei eigentlich nur die Positionierung der letzten beiden Zeichen in Zeile 2.
24.07.2007 21:30:31  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
Die müssen eben in eine 3. Zeile. Es hilft nichts, wo willst du sie denn hin packen? Entweder anbschneiden, oder in eine weitere Zeile. Zaubern geht nicht.
24.07.2007 21:33:30  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
v!pe

Phoenix
Textfeld 1: 30 Zeichen, mager
Textfeld 2: 30 Zeichen, doppelfett

Nun gibt es eine erste Zeile mit 27 Zeichen, die zweite Zeile hat dann noch 3 Zeichen (+ 2 vorne weg, zwecks Einrückung).

Nun gehören 22 Zeichen aus dem Textfeld 2 noch in Zeile 2 und die restlichen 8 Zeichen dann in Zeile 3.



Besser? Die 22 Zeichen (die dann Doppelfett sein sollen) kann ich nicht "einfach so" in die 3. Zeile abschieben. Das wäre Textfaschismus.
24.07.2007 21:37:43  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
Du kannst aber trotzdem nicht zaubern.

Es gibt genau 3 Möglichkeiten: Den Benutzer zwingen Text einzugeben, der einfach verarbeitet werden kann (also nur soviel Text zulassen wie in die Zeile passt), nach gutdünken den zu langen Text aufteilen (Zeilen zusammenführen oder Extrazeilen machen), oder am schlechtesten: Rest abschneiden.
24.07.2007 21:41:40  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
 Thema: Gehirnsalat ( wir unter uns )
« erste « vorherige 1 ... 1149 1150 1151 1152 [1153] 1154 1155 1156 1157 ... 6582 nächste » letzte »

mods.de - Forum » Webdesign & Coding » 

Hop to:  

Thread-Tags:
Mod-Aktionen:
23.08.2018 12:40:15 TriggerTG hat den Thread-Titel geändert (davor: "Wiederbelebungssalat")
09.03.2017 08:55:19 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
21.05.2014 16:08:26 Redh3ad hat den Thread-Titel geändert (davor: "Hochzeitssalat")
10.05.2014 09:43:28 Redh3ad hat den Thread-Titel geändert (davor: "Gehirnsalat")
19.10.2013 21:43:03 [DK]Peacemaker hat diesen Thread repariert.
04.10.2013 20:11:45 TriggerTG hat den Thread-Titel geändert (davor: "Damiferkel-Salat")
29.08.2013 19:59:27 [DK]Peacemaker hat den Thread-Titel geändert (davor: "HerpDerpSalat")
19.08.2013 10:04:19 TriggerTG hat den Thread-Titel geändert (davor: "SirSiggiSalat")
13.08.2013 18:43:13 TriggerTG hat den Thread-Titel geändert (davor: "Kamelwochensalat")
05.08.2013 09:47:37 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
24.06.2013 16:30:39 TriggerTG hat den Thread-Titel geändert (davor: "cmssalat")
20.06.2013 12:58:35 TriggerTG hat den Thread-Titel geändert (davor: "Krissalat")
13.06.2013 10:59:25 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
08.06.2013 11:28:06 TriggerTG hat den Thread-Titel geändert (davor: "rABBIntensalat")
03.06.2013 09:56:52 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")

| tech | impressum