Hallo,
hier wider ein frage, bei deren Formulierung ich wider mal an meine Grenzen stosse.
Für meine BlackDesertOnline KI, möchte ich auf dem BDO Fenster eine Sprechblase erscheinen lassen oder Icons und Buttons.
Ein Weg währe, den Hintergrund zu grabben und einfach auf ein Canvas zu Kopieren und dann mit den PB Mitteln die Transparenz
vorzutäuschen. Leider fällt der Trick auf wenn das BDO Fenster verschoben wird. Es ist zwar möglich die Fenster neu zu positionieren.
Das verursacht aber ein sehr blödes flickern und flackern.
Eine meiner Grundsätze beim entwickeln dieser KI ist, das ich keine eingriff in den Client oder den Datentransfer nehmen werde. Auch
das Manipulieren der Fenster selber kommt nicht in frage.
Daher suche ich eine Möglichkeit mit Windows API Mitteln eine Transparenz zu erzeugen. Wobei mir ein nicht zeichnen aller Pixel die RGB 0
eigentlich reicht. Es gibt einige Games die beim Start ein logo oder einen Lancher anzeigen dessen verschnörkelte Kontur den Hintergrund
anzeigt.
Das Bild oben zeigt mein Icon vom AnimePlayer. Der Hintergrund scheint durch. So möchte ich es bei meinem Fenster haben.
Also .. alle Ideen sind willkommen.
MfG Temucin alias TFT
(Erledigt)Fenster mit durchsichtigen Stellen.
- tft
- Beiträge: 605
- Registriert: 08.09.2004 20:18
- Computerausstattung: GTX Titan , i9 9900K , 32 GB Ram , 500 GB SSD , 3 ASUS FullHD Monitore and more
- Wohnort: Dachsen
- Kontaktdaten:
(Erledigt)Fenster mit durchsichtigen Stellen.
Zuletzt geändert von tft am 24.12.2017 18:22, insgesamt 1-mal geändert.
TFT seid 1989 , Turgut Frank Temucin , Dachsen/Berlin/Antalya
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak
Re: Fenster mit durchsichtigen Stellen.
Hallo tft,
ich kenne mich mit Windows-Skins nicht so aus, aber vielleicht hilft das hier:
http://www.purebasic.fr/english/viewtop ... 12&t=45811
Vielleicht findest du auch hier noch etwas brauchbares: http://www.rsbasic.de/winapi-library/ (OpenWindow)
Unter Java könntest du mit:
java.awt.geom.Ellipse2D;
java.awt.geom.GeneralPath;
...
experimentieren.
Bsp:
Aber wir sind hier ja bei PureBasic.
Mmmh...
Sicherlich haben hier noch andere Leute bessere Windows-Freiform-Design-Tipps.
Oder aber du meinst etwas ganz anderes und ich liege hier komplett falsch ?
ich kenne mich mit Windows-Skins nicht so aus, aber vielleicht hilft das hier:
http://www.purebasic.fr/english/viewtop ... 12&t=45811
Vielleicht findest du auch hier noch etwas brauchbares: http://www.rsbasic.de/winapi-library/ (OpenWindow)
Unter Java könntest du mit:
java.awt.geom.Ellipse2D;
java.awt.geom.GeneralPath;
...
experimentieren.
Bsp:
Code: Alles auswählen
package javaapplication1;
/**
*
* @author ccode_new
*/
import javax.swing.*;
import java.awt.*;
import java.awt.geom.Ellipse2D;
import java.awt.geom.GeneralPath;
public class JavaApplication1 extends JFrame {
public JavaApplication1() {
super();
setUndecorated(true);
setSize(new Dimension(300, 300));
setDefaultCloseOperation(EXIT_ON_CLOSE);
Ellipse2D.Double theCircle = new Ellipse2D.Double(0, 0, 300, 300);
Polygon polygon = new Polygon();
polygon.addPoint(0, 0);
polygon.addPoint(150, 150);
polygon.addPoint(0, 300);
GeneralPath path = new GeneralPath();
path.append(theCircle, true);
path.append(polygon, true);
setShape(path);
getContentPane().setBackground(Color.yellow);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run() {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
if (ge.getDefaultScreenDevice().isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency.PERPIXEL_TRANSPARENT)) {
new JavaApplication1();
}
}
});
}
}
Aber wir sind hier ja bei PureBasic.
Mmmh...
Sicherlich haben hier noch andere Leute bessere Windows-Freiform-Design-Tipps.
Oder aber du meinst etwas ganz anderes und ich liege hier komplett falsch ?
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat
Re: Fenster mit durchsichtigen Stellen.
hilft das?
Code: Alles auswählen
OpenWindow(0, 0, 0, 110, 110, "Test", #PB_Window_BorderLess | #PB_Window_ScreenCentered)
StartDrawing(WindowOutput(0))
Box(0, 0, 110, 110, RGB(0, 255, 0))
Circle(50, 50, 25, RGB(255, 0, 0))
StopDrawing()
SetWindowLong_(WindowID(0), #GWL_EXSTYLE, GetWindowLong_(WindowID(0),#GWL_EXSTYLE)|#WS_EX_LAYERED)
SetLayeredWindowAttributes_(WindowID(0), RGB(0, 255, 0), 0, #LWA_COLORKEY)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Win11 x64 | PB 6.00 (x64)
- tft
- Beiträge: 605
- Registriert: 08.09.2004 20:18
- Computerausstattung: GTX Titan , i9 9900K , 32 GB Ram , 500 GB SSD , 3 ASUS FullHD Monitore and more
- Wohnort: Dachsen
- Kontaktdaten:
Re: Fenster mit durchsichtigen Stellen.
Hallo .... das ist exakt das was ich gesucht habe .... danke und schöne Fresttage
Gruss Temucin alias TFT
Gruss Temucin alias TFT
TFT seid 1989 , Turgut Frank Temucin , Dachsen/Berlin/Antalya
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak
- juergenkulow
- Beiträge: 188
- Registriert: 22.12.2016 12:49
- Wohnort: :D_üsseldorf-Wersten
Re: (Erledigt)Fenster mit durchsichtigen Stellen.
Code: Alles auswählen
; Jede ms einen Circle
Bildschirm=ExamineDesktops()-1
Fenster=OpenWindow(#PB_Any, DesktopX(Bildschirm), DesktopY(Bildschirm), DesktopWidth(Bildschirm),
DesktopHeight(Bildschirm), "", #PB_Window_BorderLess )
StartDrawing(WindowOutput(Fenster))
Box(0,0,DesktopWidth(Bildschirm), DesktopHeight(Bildschirm), RGBA(0, 0 , 0,255))
SetWindowLong_(WindowID(Fenster), #GWL_EXSTYLE, GetWindowLong_(WindowID(Fenster),#GWL_EXSTYLE)|#WS_EX_LAYERED)
SetLayeredWindowAttributes_(WindowID(Fenster), RGBA(0, 0, 0,255), 0, #LWA_COLORKEY)
Repeat
Circle(Random(DesktopWidth(Bildschirm)), Random(DesktopHeight(Bildschirm)-500)+400,Random(40)+10,
RGB(Random($f)*$10+1,0,0))
Until WaitWindowEvent(1) = #PB_Event_CloseWindow
StopDrawing()
Bitte stelle Deine Fragen, denn den Erkenntnisapparat einschalten entscheidet über das einzig bekannte Leben im Universum.
Jürgen Kulow Wersten :D_üsseldorf NRW D Europa Erde Sonnensystem Lokale_Flocke Lokale_Blase Orion-Arm
Milchstraße Lokale_Gruppe Virgo-Superhaufen Laniakea Sichtbares_Universum
Jürgen Kulow Wersten :D_üsseldorf NRW D Europa Erde Sonnensystem Lokale_Flocke Lokale_Blase Orion-Arm
Milchstraße Lokale_Gruppe Virgo-Superhaufen Laniakea Sichtbares_Universum
- tft
- Beiträge: 605
- Registriert: 08.09.2004 20:18
- Computerausstattung: GTX Titan , i9 9900K , 32 GB Ram , 500 GB SSD , 3 ASUS FullHD Monitore and more
- Wohnort: Dachsen
- Kontaktdaten:
Re: (Erledigt)Fenster mit durchsichtigen Stellen.
Hallo,
der ist geil ...... hab ich mich erschrocken. Ich habe einen BackFlash bekommen. Vor 25 Jahren hat ein Virus auf dem AMIGA sowas gemacht.
NICE ....
Gruss TFT
der ist geil ...... hab ich mich erschrocken. Ich habe einen BackFlash bekommen. Vor 25 Jahren hat ein Virus auf dem AMIGA sowas gemacht.
NICE ....
Gruss TFT
TFT seid 1989 , Turgut Frank Temucin , Dachsen/Berlin/Antalya
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak