Laden...

Bild speichern

Erstellt von Ploetzi vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.690 Views
Ploetzi Themenstarter:in
313 Beiträge seit 2006
vor 15 Jahren
Bild speichern

Wieso haut dass nicht hin:


             DialogResult result = bildspeicherndialog.ShowDialog();
             if (result == DialogResult.OK)
             {
                 //Zurueckschreiben des selektierten Ordners
                 strFile = this.bildspeicherndialog.FileName.ToString();
                 pictureBox1.Image.Save(strFile,System.Drawing.Imaging.ImageFormat.Jpeg);
             }

Der throwd ne nullreferenceexeption,...
Danke!

365 Beiträge seit 2007
vor 15 Jahren

Prüfe doch erstmal ob du überhaut ne Datei ausgewählt hast.....

if(!result.Filename.IsNullOrEmpty())

Edit wegen Klammern hinter Methode.

D
39 Beiträge seit 2007
vor 15 Jahren

Hi Ploetzi,

als erstes solltest du uns vielleicht mal erzählen auf welches (anscheinend nicht instanzierte) Objekt die Exception zeigt? Ich schätze mal stark, dass es der SaveFileDialog sein wird...

Hier noch ein Vorschlag zur Codeverbesserung:


//...
if(this.bildspeicherndialog.ShowDialog() == DialogResult.OK)
{
  if(this.bildspeicherndialog.FileName != string.Empty)
     this.picturebox1.Image.Save(this.bildspeicherndialog.FileName, ImageFormat.Jpeg);
}
//...

MfG Diggler

WTF ist ein Constructor?! 👶

Ploetzi Themenstarter:in
313 Beiträge seit 2006
vor 15 Jahren

Ok, stimmt, schlecht erklaert.
Also ich lad ein Bild rein. Mal da auch was in der Picturebox. Das klappt alles.
Nur das abspeichern des Bildes klappt nicht.

Gelöschter Account
vor 15 Jahren

der link, den ich dir gepostet habe hast du gelesen?

Ploetzi Themenstarter:in
313 Beiträge seit 2006
vor 15 Jahren

Hab ich , ja.
Danke. Aber hilft mir ned weiter (sollte er vermutl.)

Gelöschter Account
vor 15 Jahren

dann möchte ich mich entschuldigen, das dor nicht stand wie man diese exception beseitigt, wenn ein Picturebox1.Image null ist un möchte das hiermit nachholen:

steht etwas in der eigenschaft Image des picturebox-controls? benutzt du für die anzeige des bildes nciht zufällig die eigenschaft backgroundimage oder ähnliches?

Ploetzi Themenstarter:in
313 Beiträge seit 2006
vor 15 Jahren

Du brauchst dich nicht zu entschuldigen.Ich bin echt froh euber eure Hilfe

Also beim auswaehlen der Datei wird geschrieben
img = System.Drawing.Image.FromFile(strFile);

und dann im paint

  e.Graphics.DrawImage(img, new System.Drawing.Rectangle(0, 0, pictureBox1.Width, pictureBox1.Height));  
      

aber dann werden noch linien und sowas von hand reingemalt....

drum versteh ichs ja ned,.... es sollt ja ein image drin sein
die variable Image ist aber nicht explizit gesetzt worden,..

Gelöschter Account
vor 15 Jahren

die variable Image ist aber nicht explizit gesetzt worden,..

ja.... das ist es ja....

Ploetzi Themenstarter:in
313 Beiträge seit 2006
vor 15 Jahren

aber er zeigt ja trotzdem ein bild an in der picturebox und genau dieses bild will ich...

Gelöschter Account
vor 15 Jahren

ja, du kannst den nikolaus mit drawimage oder drawrectangles (oder sonst was) zeichnen, dennoch wird in der property Image ncihts stehen, wenn du da ncihts zuweist.

mal doch das bild nicht direkt, sondern gehe den normalen weg und weise das bild der eigenschaft zu. du kannst dann immernoch direkt auf dem bild zeichnen.

Ploetzi Themenstarter:in
313 Beiträge seit 2006
vor 15 Jahren

Aber ich will ja das geladene Bild+das darauf gemalte speichern

Gelöschter Account
vor 15 Jahren

wie bereits gesagt, kannst du auch direkt auf dem bild zeichnen und nicht nur auf dem steuerelement selbst.

Ploetzi Themenstarter:in
313 Beiträge seit 2006
vor 15 Jahren

oops ueberlesen, ich werd mal recherchieren wo ich sowas find

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo Ploetzi,

Aber hilft mir ned weiter

dann hast du, sorry, nicht richtig gelesen.

ich werd mal recherchieren wo ich sowas find [Tutorial] Zeichnen in Windows-Programmen (Paint/OnPaint, PictureBox)

herbivore

Ploetzi Themenstarter:in
313 Beiträge seit 2006
vor 15 Jahren

Hab ich schon. Ich habs eben nicht kapiert.
Hab das nun mittels eines "workarround" gelöst.
Also Screenshot per Software gemacht. und diesen gespeichert.

Gelöschter Account
vor 15 Jahren

das ist kein workaround. das ist ein "superdirty hack". sowas habe ich noch nie gehört, das jemand einen screenshot schießt um ein bitmap eines eigenen controls zu bekommen, nur weil er sich nciht in die materie einarbeiten möchte.

das ist jetzt auf meiner persönlichen hitliste bei den top10.

was bitte ist daran so schwer, das bild nicht per drawimage direkt auf das control zu zeichnen, sondern es einfach in das genau dafür gedachte proerty zu schieben und dann direkt auf dem bild zu malen???

Ploetzi Themenstarter:in
313 Beiträge seit 2006
vor 15 Jahren

lol, ok, ich schaus mir nochmal genauer an...

458 Beiträge seit 2007
vor 15 Jahren

das ist jetzt auf meiner persönlichen hitliste bei den top10.

Die anderen 9 Plaetze waeren doch was fuers Smalltalk Forum :>

be the hammer, not the nail!