Aktuelle Zeit: 16.04.2024, 05:48

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 19.05.2011, 18:34 
Offline

Registriert: 19.05.2011, 18:12
Beiträge: 3
Hey leute
Ich möche ein transparentes PNG zeichnen. Die PNGs sind Button-Bilder und sind jeweils unten und oben, links und rechts transparten (für "abgerundete Ecken"). Aber leider tut Irrlicht die obere-linke "Ecke" weiß drawn und nicht transparent. Ich habe die neuste Version von Irrlicht. Ich benutze außerdem CodeBlocks als IDE.
Code:
#include <iostream>
#include <irrlicht.h>
#include <time.h>
using namespace std;
using namespace irr;
using namespace core;
using namespace video;

int main() {
    IrrlichtDevice *device =
    createDevice( video::EDT_OPENGL, dimension2d<u32>(800, 600), 32, false, false, false, 0);//video::EDT_SOFTWARE
    if (!device) { return 1; }
    device->setWindowCaption(L"test");
    IVideoDriver* driver = device->getVideoDriver();
    int h_abstand = 60;
    int h_beginn = 180;
    while(device->run()) {
        driver->beginScene(true, true, SColor(3,0,126,0));
        driver->draw2DImage(driver->getTexture("graphic/logo.bmp"), position2d<s32>(80,0));
        driver->draw2DImage(driver->getTexture("graphic/button.png"), position2d<s32>(287,h_beginn+(1*h_abstand)));
        driver->draw2DImage(driver->getTexture("graphic/button.png"), position2d<s32>(287,h_beginn+(2*h_abstand)));
        driver->endScene();
        // cout << "Frames:" << driver->getFPS() << endl;
    }
    device->drop();
    return 0;
}


Danke schon mal im Vorraus für alle Antworten :) .
MfG AntiSpeed


Nach oben
 Profil  
 
BeitragVerfasst: 20.05.2011, 06:48 
Offline
Benutzeravatar

Registriert: 17.04.2007, 08:42
Beiträge: 460
Wohnort: Willich, NRW
Du musst die Transparenz bei dem draw-Befehl immer mit angeben (leider...), da Irrlicht von ausgeht, dass du nicht transparent zeichnen willst (jpgs usw). Daher wird aus:
Code:
driver->draw2DImage(driver->getTexture("graphic/logo.bmp"), position2d<s32>(80,0));

ein
Code:
driver->draw2DImage(driver->getTexture("graphic/logo.bmp"), position2d<s32>(80,0), rect<s32>(0,0,logoWidth,logoHeight), 0, SColor(255,255,255,255), true);


Ansonsten falls du mehr Interesse dafür hast bzw. generell noch fragen kannst du dir auch das hierdazu anschauen.

mfg heck

_________________
Bild

Irrlicht - From Noob To Pro A Guideline

--

Sonstige Projekte, Blog : http://www.rpdev.net


Nach oben
 Profil  
 
BeitragVerfasst: 20.05.2011, 13:34 
Offline

Registriert: 19.05.2011, 18:12
Beiträge: 3
Vielen Dank :)
Genau das habe ich gesucht.


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de