Autor Beitrag
AlphaCentAlpha
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 05.02.08 19:55 
Hi ich bin relativ neu in C#.

Ich hab mir in Photoshop ein eigenes Design gemacht das eben nicht die form des Standard
Windows Fenster hat. Nun würde ich dieses gern einbinden. Als Hintergrund ist das ja kein Problem aber ich moechte eben das nur mein eigenes Design sichtbar ist, und windows titelleiste und hintergrund transparent sind.

zusätzlich dazu habe ich in der photoshop am rand an den abrundungen so halbtransparente pixel die ich auch gerne ins gui design übernehmen würde ohne das diese weiss werden oder sowas. kann mir einer von euch sagen wie ich dieses eigene design einbinden kann wobei halt alle transparentne stellen in photoshop auch genauso in c# übernommen werden. habe bei google shcon gesucht und leider nichts dazu gefunden.

thx alpha
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Di 05.02.08 21:09 
Du hast zwei Möglichkeiten:
  1. Du bleibst bei Winforms und zeichnest ALLES selbst, kannst also keine Controls benutzen. (Wobei du dann gleich das Ganze hardwaregestützt zeichnen könntest, z.B. mit XNA)
  2. Du benutzt WPF, das aber gerade bei sowas mit der Performance einbricht.
mutterholzbein
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 47
Erhaltene Danke: 1

[Win XP pro,Win 7pro, Ubuntu 10.04]
[MS Visual Studio 2008 pro TeamSystem,VS-2010-Ultimate [C, C++ (u.a. mit QT4), C#, PHP]
BeitragVerfasst: Di 05.02.08 21:49 
user profile iconAlphaCentAlpha hat folgendes geschrieben:
Hi ich bin relativ neu in C#.

Ich hab mir in Photoshop ein eigenes Design gemacht das eben nicht die form des Standard
Windows Fenster hat. Nun würde ich dieses gern einbinden. Als Hintergrund ist das ja kein Problem aber ich moechte eben das nur mein eigenes Design sichtbar ist, und windows titelleiste und hintergrund transparent sind.
...
thx alpha


hi user profile iconAlphaCentAlpha,

wie user profile iconKhabarakh das schon richtig gesagt hat eignet sich, wenn auch u.u mit performance-einbussen, am besten die wpf bzw. xaml für solche geschichten! ich kann dir empfehlen dir das [url=www.microsoft.com/ge...pression-blend[/url] als trial-version zu laden u nebenbei nochn paar [url=www.microsoft.com/ge...osoft-webcasts[/url] zu dem thema durch zu arbeiten, und schon kannste alle die funktionen/designs einer "selbstgebastelten" gui nutzen.

der code der hierbei zur anwendung kommt ist fürs design xaml und für die logik c# also genau das was du suchst...


greetz mhb

:wave:

Moderiert von user profile iconNarses: Farb-Tag entfernt
AlphaCentAlpha Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 05.02.08 22:43 
also das ist mir viel zu aufwändig :P

ich hatte eigentlich vorgehabt das ich dem bild ne hintergrund farbe gebe die ich mal x nenne. und dann einfach beim tranparency key farbe x einstelle. nur das funktioniert irgendwie nicht ich seh da immer noch mein design mit der farbe x als viereck drum.
mutterholzbein
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 47
Erhaltene Danke: 1

[Win XP pro,Win 7pro, Ubuntu 10.04]
[MS Visual Studio 2008 pro TeamSystem,VS-2010-Ultimate [C, C++ (u.a. mit QT4), C#, PHP]
BeitragVerfasst: Mi 06.02.08 00:09 
Titel: ree
user profile iconAlphaCentAlpha hat folgendes geschrieben:
also das ist mir viel zu aufwändig :P

ich hatte eigentlich vorgehabt das ich dem bild ne hintergrund farbe gebe die ich mal x nenne. und dann einfach beim tranparency key farbe x einstelle. nur das funktioniert irgendwie nicht ich seh da immer noch mein design mit der farbe x als viereck drum.

...
hmh,
also ganz ohne aufwand lässt sich dein wunsch nicht bewerkstelligen!
allerdings ist der oben geschilderte weg, im vergleich zu früheren methoden SIMPLE! du machst mit expresion-blend das design, speicherst ab, lädst das projekt ins VS (mindestens VS-2005) und schreibst den code für die anwendung...

ALLERDINGS: solltest du in ms-expression-blend für schliessen-buttons usw., gleich in den eventhandler-eigenschaften die zugehörigen events reinschreiben; falls du dich nicht noch zusätzlich mit xaml beschäftigen willst! denn im c-sharp code taucht davon im cs-projekt nicht mehr viel auf.
also für das bsp mit dem schliessen-button wäre das [/color]this.Close()[color=darkred]
ABER OHNE ABSCHLIESSENDES ;! das wird in expr.-blend in xaml-code eingebettet...

jedenfalls ist das die einfachste,schnellste und auch effektivste methode!

ps.
du kannst das ja auch mal mit GDI, GDI+ oder via DirectX funktionen versuchen zu lösen ;)
wirst sehen das, dass immernoch um welten schwerer ist als mein weg.
allerdings gibts bestimmt auch noch einige andere; in welche ich aber (noch) nicht involviert bin...

greetz mhb

:wave:

Moderiert von user profile iconNarses: Farb-Tag nochmal entfernt :|
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 06.02.08 09:55 
user profile iconAlphaCentAlpha hat folgendes geschrieben:
ich hatte eigentlich vorgehabt das ich dem bild ne hintergrund farbe gebe die ich mal x nenne. und dann einfach beim tranparency key farbe x einstelle.
Das funktioniert natürlich auch, du schrobst in deinem ersten Posting aber etwas von halbtransparenten Pixeln!
Hier mal ein kurzes Beispiel, dass es wirklich funktioniert:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
public Form1()
    {
      FormBorderStyle = FormBorderStyle.None;
      TransparencyKey = Color.Fuchsia;

      InitializeComponent();
    }

    void Form1_Paint(object sender, PaintEventArgs e)
    {
      e.Graphics.FillRectangle(Brushes.Fuchsia, e.ClipRectangle);
      e.Graphics.FillEllipse(new SolidBrush(BackColor), e.ClipRectangle);
    }
Einloggen, um Attachments anzusehen!
AlphaCentAlpha Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 06.02.08 18:26 
also irgendwie habt ihr mich glaube ich nicht verstanden :P
deswege hier einfach mal meine c# datei. es muss nur noch das backgroundimage an das enthaltene bild angepasst werden dann seht ihr mein problem.
ich kriege die pixel da einfach nicht so umgesetzt.
Einloggen, um Attachments anzusehen!
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 06.02.08 23:56 
Funktioniert doch :shock: . Oder was genau willst du erreichen :?:
Einloggen, um Attachments anzusehen!
AlphaCentAlpha Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Do 07.02.08 17:09 
ja du siehst doch diesen rosa rand! den will ich eben nicht haben. bzw. wenn dann so das wirklich der hintergrund vom desktop durchscheint und nicht diese hässliche rosa farbe ^^.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Fr 08.02.08 13:08 
Wenn du keine Halbtransparennz verwenden willst, musst du natürlich erreichen, dass du einen scharfen Übergang von deiner Form-Grafik zum Fuchsia-Hintergrund hast, es darf nirgendwo eine Mischfarbe entstehen. Frag mich aber nicht, wie man das in PS macht :nixweiss: .