[C# .NET] Transparant form met PNG alpha chanel

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • xehbit
  • Registratie: Februari 2009
  • Laatst online: 26-08 22:19
Hallo tweakers,

Nadat mijn vorige topic gesloten is. En de vraag die ik daar in heb gesteld eigenlijk heel makkelijk op google kon vinden. Het is gelukt in dankzij Roblll, ik wist niet dat ik moest zoeken op C# irregular form. Maar dat is gelukt en heb het met de volgende code werkend gemaakt.
C#:
1
2
3
4
5
6
7
8
9
10
        private void frm_splash_Load(object sender, EventArgs e)
        {
            Bitmap img = new Bitmap("Splash.bmp");
            img.MakeTransparent(img.GetPixel(1, 1));
            this.FormBorderStyle = FormBorderStyle.None;
            this.BackgroundImage = img;
            this.TransparencyKey = img.GetPixel(1, 1);
            this.Width = 550;
            this.Height = 150;
        }


de afbeelding Splash.bmp ziet er zo uit:
Afbeeldingslocatie: http://img685.imageshack.us/img685/2903/splashwu.png

Maar omdat er een schaduw in zit, en de kleur met schaduw niet helemaal dezelfde kleur als 1px * 1px van de Splash.bmp, krijg je alsnog de paarse/roze kleur te zien:
Afbeeldingslocatie: http://img38.imageshack.us/img38/230/screenia.png

Nu is mijn code wel goed, want als ik de schaduw niet gebruik werkt het gewoon 100% goed. Maar ik zou zeer graag ook die schaduw erbij willen hebben. Is er iemand ie mij een klein beetje opweg zou willen helpen?

btw, ik heb op google veel verschillende search tags gebruikt. Ben er dus nog niet helemaal mee uitgekomen.

Acties:
  • 0 Henk 'm!

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 17-09 15:08

Hail to the king baby!


Acties:
  • 0 Henk 'm!

  • xehbit
  • Registratie: Februari 2009
  • Laatst online: 26-08 22:19
Zo, dat is erg verwarrend de main.cs @ http://www.codeproject.com/KB/GDI-plus/perpxalpha_sharp.aspx

Ik probeer nu dingen van de main.cs om te zetten in een functie. Maar dat gaat nogal fout.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Zonder te vermelden wat er fout gaat of niet lukt kun je net zo goed niets zeggen. We hebben geen glazen bol en kunnen dus niet zien waar je probleem zit. Het is voor ons dan ook onmogelijk hier iets zinnigs op te zeggen zonder relevante informatie/code/foutmeldingen etc.

Overigens is verwijzen naar main.cs ook niet bijster handig als we eerst naar die site moeten gaan, in een aantal gevallen zelfs zullen moeten registreren, en dan een zip downloaden, die uitpakken en dan de main.cs moeten bekijken. Het zou bakken schelen als je even de moeite had genomen de "probleemcode" en relevante(!) delen dus integraal in dit topic op te nemen. Dat is wel zo beleefd en wel het minste wat je kunt doen voor de mensen die jou(!) proberen te helpen.

[ Voor 35% gewijzigd door RobIII op 07-07-2010 22:56 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij