| |
|
|
| Hallo Frank.
ICh hab da mal ne Frage: Würd gern wissen wie ich text in eine prospeed-bitmap schreiben kann,habs schin mit startpaint versucht aber des klappt net !?!
wie geht das denn?
gruss Martin |
|
|
| |
|
|
|
| Hallo Martin,
ja, aber natürlich nicht mit Start-/Endpaint. Die arbeiten ja nur Profan-intern.
Entweder kannst du den Text in die Speicherbitmap von Profan schreiben und von dort aus in einen ProSpeed HDC kopieren...
...oder du benutzt die APIs DrawText() oder DrawTextEx(). Auch sonstige Zeichen und Farbfunktionen können via API direkt auf einen ProSpeed HDC angewandt werden, z.B. SetPixel(), CreatePen(), Rectangle und Ellipse-Funktionen, Linien und Kurven-Funktionen, Kreisausschnitte und Bezierkurven, Font und Rahmen-Funktionen und vieles mehr. Das GDI ist da sehr flexibel. Ausprobieren lohnt auf jeden Fall !!!
Hoffe, das hilft dir weiter.
Gruß, Frank |
|
|
| |
|
|
|
| Leider hab ich von api nich so viel ahnung und aus der win32 bin ich auch nicht schlau geworden (rechteck parameter ???). Wäe bestimmt auch für andere prospeed user interessant wenn du ein paar beispiele in deiner hilfa aufnehmen würdest.
gruss Martin |
|
|
| |
|
|
|
| Hallo Martin,
das kann ich gerne machen. Für Rechtecke wäre das z.B.:
Rectangle(HDC&,X1,Y1,X2,Y2)
Einfach, oder? Ich werde für die nächste Version mal ein Beispielprogramm zu den Sourcecodes posten...
Gruß, Frank |
|
|
| |
|
|
|
| Hallo,
Text in eine Hintergrundbitmap zu schreiben geht doch ganz normal mit Drawtext..Ich habe ein foto als Hintergrund und einen Text mit Drawtext reingeschrieben, dann noch einen Rahmen gemalt..fertig..klappt gut..
Eine andere Moeglichkeit ist den text als sprite reinschweben lassen und mit der Prospeed in den Hintergrund kopieren..sieht bestimmt gut aus..
Gerold |
|
|
| |
|
|
|
| Aber wie geht das den mit dem Txt und Api ?
Da wird als parameter irgendwie ein Rechteck erwartet ?!? Und wie kann ich die schrift und farbe einsteln ?
Super das du ein paar beispiele aufnimst
gruss Martin |
|
|
| |
|
|
|
| Hallo Martin,
DrawText() benutzt ein Rechteck, um seinen Text dort einzutragen. Das Rechteck kann in einer Bereichsvariablen angegeben werden, vier Long-Werte hintereinander, so z.B.:
VarToLong4(bereich#,0,x1&,y1&,x2&,y2&) DrawText(prospeedhdc&,addr(text$),len(text$),bereich#,uformatflags&)
Die uformatflags stehen in der API-Hilfe erklärt. Z.B. kannst du automatisch den Text innerhalb des Rechtecks zentrieren, Wort-Umbruch ein- oder ausschalten usw...
Du kannst auch die API TextOut() benutzen, das ist einfacher zu bedienen, bietet aber keine Besonderheiten.
Schrift, Farbe und Brush müßen manuell eingestellt werden. Voreingestellt sind Windowsfont, schwarz und weiß.
stiftfarbe&=CreatePen(0,0,RGB(0,32,208)) Farbe
füllfarbe&=CreateSolidBrush(RGB(0,208,32)) Brushfarbe
font&=CreateFont(...) Font
old1&=SelectObject(prohdc&,stiftfarbe&)
old2&=SelectObject(prohdc&,füllfarbe&)
old3&=SelectObject(prohdc&,font&)
... Hier kannst du deinen Text oder Grafiken setzen
bevor du prohdc& freigibst, solltest du
die Objekte aber vorher wieder freigeben
SelectObject(prohdc&,old1)
SelectObject(prohdc&,old2)
SelectObject(prohdc&,old3)
DeleteObject(stiftfarbe&)
DeleteObject(füllfarbe&)
DeleteObject(font&)
Ich hoffe, es hat sich kein Fehler mehr eingeschlichen, das war jetzt improvisiert...
Gruß, Frank |
|
|
| |
|
|
|
| Hallo,
hier ist ein kleiner Quellcode, der zeigt, wie man direkt in ProSpeeds HDCs (Bitmaps) zeichnet und Texte schreibt:
[...]
Ein gelber Kreis wird generiert, vor den ein buntes Rundeck gezeichnet wird, in das eine Schrift gestellt wird. Jede Sekunde ändert das Gebilde seine Position. Hierzu befindet sich auch noch ein Sprite auf dem Bildschirm. Es werden einige Dateien aus dem Source-Verzeichniss benötigt, das dem ProSpeed-Paket beiliegt, den Zeichnen-Quellcode also am besten dorthin kopieren
Gruß, Frank |
|
|
| |
|
|