Surfaces mit Pixmaps?
Übersicht

![]() |
FOODyBetreff: Surfaces mit Pixmaps? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo leute!
Ich möchte gern wissen ob man Pixmaps als Surface benutzen kann. Also das zeichnen auf ein Pixmap und dann auf dem bildschirm darstellen. Weiß net genau wie ichs erklären soll.... Ich möchte verschiedene "Layer" haben. Zb. ein Schattensurface. Die Schattenverläufe sollen nicht auf das eigen "reagieren". Sprich Schattenfarbe Schwarz und Alpha 1, dann gibts schonma ein einheitsschatten im gesamtsurface. Wenn ich das Surface aber zeichnen will möcht ich es gerne auf 0.5 (alpha) setzen damit die schatten transparent werden. Das mit den Schatten ist ein nicht so dolles beispiel. Aber wenn ich jeden Schatten einzeln zeichnen würde, würde es so aussehen: ![]() Ich möcht es aber so: ![]() Achja. Das mit den Schatten ist nur ein BEISPIEL ;D Freu mich wenn mir jemand helfen würde. ![]() FOODy |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Davon ist abzuraten.
Da Pixmap garkeine Surface sind, sondern Bitdaten im RAM müssen diese vor dem Zeichnen erst in Bilder verwandelt werden müssen. (natürlich nicht zwingend, aber Pixmaps sind 10x langsamer als Images und unterstützen keine der Zeichenbefehle). Für Schatten könntest du auch Images zeichen mit Solidblend und das dann grabben, zb. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
FOODy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gibts keine andere Möglichkeit?
Oder kann man das nur mit Pixmaps machen oO Welche Lösung wäre die beste für mein problem? EDIT: @Grab: Wie soll das den gehen? |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wie gesagt.
Alle Schattendaten mit Solidblend zeichnen, davon ein Image grabben und das dann als "Surface" oder "Layer" handhaben den du mit alphablend zeichnest |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
FOODy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja danke ![]() Das hab ich gesucht! Daaaaaaaannnkkkeeeeeeeee. ![]() ![]() ![]() Nur schade das es so langsam ist :-/ Code: [AUSKLAPPEN] Graphics 800,600,0
Local mil:Int = MilliSecs() SetMaskColor 0,244,0 Local image:TImage = CreateImage(800,600,1,DYNAMICIMAGE|MASKEDIMAGE) Update(image) Print " "+(MilliSecs()-mil)+"ms" While Not KeyDown(KEY_ESCAPE) SetClsColor 255,255,255 SetColor 255,255,255 Cls SetBlend ALPHABLEND SetAlpha 0.5 DrawImage image,0,0 Flip 'Update(image) 'Viel zu langsam.... Wend Function Update(image:TImage) SetClsColor 0,244,0 Cls SetBlend SOLIDBLEND SetColor 0,0,0 DrawOval 50,50,200,200 DrawOval 75,75,200,200 DrawOval 175,225,200,300 DrawOval MouseX(),MouseY(),200,200 GrabImage image,0,0 EndFunction Den hab ich mal schnell geschrieben, also noch nicht viel dabei gedacht ^^ Ist es so am besten anzuwenden? Oder gibts schnellere möglichkeit... |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Am besten aktualisierst du es nur, wenn es nötig ist. Weil häufig ändert sich nicht soviel, dass es jedes Frame notwendig würde.
Die einzig andere Möglichkeit wäre Indiepaths render2texture modul, nur existiert das leider aktuell net ... Damit kann man direkt in ein Image reinreindern und dieses in den backbuffer packen und zwar mit so einem tempo als ob du es direkt in den backbuffer gezeichnet hättest. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
FOODy |
![]() Antworten mit Zitat ![]() |
---|---|---|
oha o_O
Wann kommt den das modul? Steht das schon fest? Sry für die vielen fragen. ^^" @Aktualisieren: Jo, das stimmt. Ich versuch ma mit abfrage. Ma schaun wie "schnell" es dann sein wird :-/ |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das weiss niemand.
Er hat es für Version 1.16 an Leute die ihn angemailt haben gegeben. Nur hat er aktuell keine Zeit mehr und insofern gibts das Modul net ... wenns wieder kommt, dann nicht mehr umsonst denke ich (dann werden wahrscheinlich alle seine Module zusammengepackt und verkauft) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group