moin,
ich muss dummerweise pcx Grafiken anzeigen. Nach langem Suchen bin ich auf DevIL.NET gestossen, das wohl irgendwie dabei helfen soll.
ok, jetzt habe ich ein paar dlls.
Versucht habe ich mal folgendes:
dlls in das Projektverzeichnis kopiert
[DllImport("DevIL.NET2.dll")]
private static extern Bitmap LoadBitmap(string ImageName);
//auch nur geraten aber ich glaube, die funktion gibt es in der dll
//ob mir das ding auch eine Bitmap liefert ist eine andere frage
private void btnOpen_Click(object sender, EventArgs e) {
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK) {
Bitmap bm = LoadBitmap(ofd.FileName);
pictureBox1.Image = bm;
}
}
oder wie??
Egal, wohin ich die dlls kopiere, /bin/release, /bin/debug, sogar c:\ und system32,
ich kriege seit Tagen nur die Meldung, DllnotFound
Ich habe spasseshalber mal mit Verweis -> hinzufuegen ..naja den Verweis hinzugefuegt.
Ausser einem lustigen Icon unter Verweise hat sich allerdings nichts geaendert.
http://www.mastropaolo.com/devildotnet/ habe ich mir mal angeschaut. Leider lassen sich die surcen nicht erstellen. jedenfalls nicht mit visual studio2005. Die Samples auch nicht, und die ImageViewCs.exe in seinem samples/bin/release
ordner laeuft nicht. Eine Doku wie man diesen wrapper benutzen soll existiert nicht.
mit anderen worten: wertlos
Meine eigene klasse, die pcx liest, liest leider nicht alle, aber das ist wohl thema fuer einen anderen thread.
ich bin kurz davor jede verdammte pcx grafik vor dem einlesen mit irgendeinem
freewaretool in jpg umzuwandeln, aber das sollte wohl der letzte weg sein.
Wenn es mit DevIL.Net nicht geht, hat dann jemand eine andere Idee wie ich diese
Grafiken in einer standard PictureBox anzeigen lassen kann?
Ich bin fuer jeden Hinweis dankbar.. ausser den mit http://www.mastropaolo.com/devildotnet/ 😉
Hallo,
DLLImport kann man nur bei herkömmlichen DLLs verwenden. Da des DevIL.NET laut Webseie ja aber nen managed Wrapper um die eigentliche DLL ist die die Arbeit verrichtet, musst du die wie jede andere .Net DLL in den Referenzen hinzufügen und nicht per DLLImport.
Baka wa shinanakya naoranai.
Mein XING Profil.
Hallo hackfix,
ich habe eben die Version 1.3 herunter geladen und mal getestet.
Du musst einen Verweis auf die Datei "DevIL.NET2.dll" in dein Project einfügen.
Danach kannst du mit der Klasse "DevIL.DevIL" Bilddateien laden.
Bitmap bitmap = DevIL.DevIL.LoadBitmap(@"......");
pictureBox.Image = bitmap;
Zusätzlich muss du noch die Datei "DevIL.dll" ins Ausgabeverzeichnis kopieren (die Datei ist die eigentlich Bibliothek, die anderen der .NET Wrapper).
Spooky