Laden...

[erledigt] DLL benutzen (DevIL.NET/.pcx Anzeigen)

Erstellt von hackfix vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.550 Views
H
hackfix Themenstarter:in
2 Beiträge seit 2009
vor 15 Jahren
[erledigt] DLL benutzen (DevIL.NET/.pcx Anzeigen)

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/ 😉

6.862 Beiträge seit 2003
vor 15 Jahren

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.

S
248 Beiträge seit 2008
vor 15 Jahren

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

H
hackfix Themenstarter:in
2 Beiträge seit 2009
vor 15 Jahren
DevIL.Net

Danke =)

DevIL.dll ins ausgabeverzeichnis. das wars