Ergebnis 1 bis 9 von 9
-
Bin neu hier
- 19.11.2009, 12:41
- #1
Hi liebe Com.
Irgendwie hänge ich gerade an dieser Stelle.
Ich will ein Control erstellen (imagebutton) welchem ich dann ein Bild (.bmp) zuweisen möchte.
Code:public class imagebutton:Control { protected override void OnPaint(PaintEventArgs e) { e.Graphics.DrawImage(new Bitmap("test.bmp"), this.Left, this.Right); } }
System.ArgumentException: Ungültiger Parameter.
Die Bitmap ist in der .resx-Datei.
Habe aber auch schon versucht mittels
new Bitmap("C:\\test.bmp") die Bitmap zu öffnen...
Kann mir jemand auf die Sprünge helfen?
-
entwickelt Apps
- 19.11.2009, 18:28
- #2
In WindowsMobile gibt's kein 'C:\' sondern direkt '\'. Kann es sein, dass die Bitmap in den Resourcen in Properties' - 'Build Action' nicht 'Embedded Resource' hat? Diese Einstellung bewirkt, dass die Resource in das exe kompiliert wird.
Code:object image = Properties.Resources.ResourceManager.GetObject(test, Properties.Resources.Culture); if (image != null) { // DrawImage mit (Bitmap)image aufrufen }
-
Bin neu hier
- 19.11.2009, 19:36
- #3
Hi, danke für die Antwort.
hmm ich werd nich ganz schlau
Code:public class ImageButton : Control { protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics gbutton = e.Graphics; object image = Properties.Resources.ResourceManager.GetObject("\test.bmp", Properties.Resources.Culture); if (image != null) { gbutton.DrawImage(new Bitmap ("\test.bmp"), this.Left, this.Right); } } }
Benutzerdefiniertes Tool: -
Buildvorgang: Eingebettete Ressource
Dateiname: test.bmp
In Ausgabeverzeichnis kopieren: Immer kopieren
Namespaces des benutzerdefinierten Tools: -
es hat mir beim getobject einen Fehler ausgegeben bei test, also dachtei ch mal da kommt der Dateinamen rein.
mit dem Code lädt die Datei fehlerfrei... jedoch leider auch Bildfrei^^
sorry falls ich was falsch mache.
GreeZ
-
entwickelt Apps
- 19.11.2009, 19:51
- #4
image ist also ungleich null?
Vesuche direkt Properties.Resources.test aufzurufen. Das müsste direkt das Bitmap liefern.
Im DrawImage das erste Argument durch image ersetzen!
-
Bin neu hier
- 19.11.2009, 20:01
- #5
?^^
also wenn ich per else schaue ob die Variable leer ist^^ (was ja else in diesem fall wäre
if (image != null)
{
gbutton.DrawImage(new Bitmap("\test.bmp"), this.Left, this.Right);
}
else MessageBox.Show("leer");
dann ist image momentan leer^^
und
Code:public class ImageButton : Control { protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics gbutton = e.Graphics; object image = Properties.Resources.ResourceManager.GetObject("\test.bmp", Properties.Resources.Culture); if (image != null) { gbutton.DrawImage(new Bitmap(image), this.Left, this.Right); } else MessageBox.Show("leer"); } }
Fehler 1 Die beste Übereinstimmung für die überladene System.Drawing.Bitmap.Bitmap(System.Drawing.Image)-Methode hat einige ungültige Argumente.
und
Fehler 2 1-Argument: kann nicht von "object" in "System.Drawing.Image" konvertiert werden.
Tut mir leid für meine Unwissenheit
-
entwickelt Apps
- 19.11.2009, 20:13
- #6
versuch folgendes:
Code:public class ImageButton : Control { protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics gbutton = e.Graphics; Bitmap image = Properties.Resources.test; if (image != null) { gbutton.DrawImage(image, 0, 0); } else MessageBox.Show("leer"); } }
-
Bin neu hier
- 19.11.2009, 20:17
- #7
Zwar gibt die MessageBox immer noch Leer aus^^
Aber das Image wird geladensupi
Vielen lieben Dank
Und grösseren Dank für die Geduld
-
Bin neu hier
- 20.11.2009, 06:48
- #8
-.- im supertollen SharpDevelop funktioniert der Code auch nicht mehr...
Echt frustrierend, dass es für C# .net framework eine Express version vom Visual Studios gibt.. aber für Compact Framework nur die Vollversion funktioniert...
Ich kann hier:
Bitmap image = Properties.Resources.test;
Properties nicht ansprechen... toll-.-
weiss jemand einen weg damit man via beide umgebungen entwickeln kann?
-
Bin neu hier
- 20.11.2009, 07:33
- #9
So... habs hinbekommen...
Code:public class ImageButton : Control { public ImageButton() { } protected override void OnPaint(PaintEventArgs e) { ResourceManager resources = new ResourceManager("Resourcen.Resource1", Assembly.GetExecutingAssembly()); Bitmap bitmap = (Bitmap)resources.GetObject("Image"); Graphics g = e.Graphics; if ( bitmap != null) { g.DrawImage(bitmap , 0, 0); } } }
GreeZ und sorry für den Doppelpost
Ähnliche Themen
-
Problem mit Mediaplayer (..hat ein problem festgestellt und muss beendet werden)
Von Daniel_23 im Forum HTC Touch DiamondAntworten: 3Letzter Beitrag: 29.07.2009, 13:30 -
GMX Server Problem = HTC Client Problem
Von Marco1981 im Forum Touch HD CommunicationAntworten: 5Letzter Beitrag: 20.03.2009, 13:59 -
Problem: Treo 750v Update Problem
Von fony im Forum PlaudereckeAntworten: 3Letzter Beitrag: 03.08.2008, 12:58
Pixel 10 Serie mit Problemen:...