Hallo an alle,
ich bräuchte einen Ratschlag von euch. So schauts aus bei mir:
Ich habe eine PictureBox die es mir ermöglicht, per Drag & drop ein Bild anzuzeigen:
Daneben hab ich eine ListBox, die es mir ermöglicht zwischen verschiedenen Zeilen, die Bilder zu ändern. Ihr könnt euch das vorstellen wie eine Art Gallery:
von wo das Temp kommt is ned so wichtig im Moment. Dieses If ist ein Auszug von meinem Ereignis der listBox.
Jetzt zum Problem: Wenn ich jetzt z.B. mit diesen Zeilen durch einen Buttonclick ...
... mein Bild als byte[] data haben will, wird verständlicherweise gejammert, File schon in Benutzung usw. Aber ich hab keine Ahnung wo ich irgendwo mein Bild/Stream/File (was auch immer) closen kann. Damit ich wieder darauf zugreifen kann ...
ist jetzt immer das Bild das aktuell angezeigt wird in meiner Picturebox nicht mehr verwendbar? Kennt da wär was?
lg und noch eine schöne Nacht ^^
ich bräuchte einen Ratschlag von euch. So schauts aus bei mir:
Ich habe eine PictureBox die es mir ermöglicht, per Drag & drop ein Bild anzuzeigen:
Code:
private void tabPage2_DragDrop(object sender, DragEventArgs e)
{
try
{
// If we drop a file try and load it into the image box
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
// Get the file path of the file and load it
string[] filepath = (string[])e.Data.GetData(DataFormats.FileDrop);
// abspeichern des pfades, für später
this.tempImagePath = filepath[0];
picboxCardImage.Image = Image.FromFile(filepath[0]);
}
}
catch (Exception exc) { Console.WriteLine(exc.Message); }
}
private void tabPage2_DragOver(object sender, DragEventArgs e)
{
// Check to see if the drag event contains a file data type,
// i.e., that we are dragging a file. Ignore all other drages.
if (e.Data.GetDataPresent(DataFormats.FileDrop) ||
e.Data.GetDataPresent(DataFormats.Text))
{
// Change the feedback (the effect) to show that this drag is allowable
if ((e.AllowedEffect & DragDropEffects.Move) != 0)
e.Effect = DragDropEffects.Move;
}
}
Daneben hab ich eine ListBox, die es mir ermöglicht zwischen verschiedenen Zeilen, die Bilder zu ändern. Ihr könnt euch das vorstellen wie eine Art Gallery:
Code:
if (temp.CardImageFilePath != null)
{
picboxCardImage.Image = Image.FromFile(temp.CardImageFilePath);
}
von wo das Temp kommt is ned so wichtig im Moment. Dieses If ist ein Auszug von meinem Ereignis der listBox.
Jetzt zum Problem: Wenn ich jetzt z.B. mit diesen Zeilen durch einen Buttonclick ...
Code:
FileInfo fileInfo = new FileInfo(fileName);
FileStream fileStream = new FileStream(fileName, FileMode.Open);
BinaryReader binaryReader = new BinaryReader(fileStream);
byte[] data = binaryReader.ReadBytes((int)fileInfo.Length);
... mein Bild als byte[] data haben will, wird verständlicherweise gejammert, File schon in Benutzung usw. Aber ich hab keine Ahnung wo ich irgendwo mein Bild/Stream/File (was auch immer) closen kann. Damit ich wieder darauf zugreifen kann ...
ist jetzt immer das Bild das aktuell angezeigt wird in meiner Picturebox nicht mehr verwendbar? Kennt da wär was?
lg und noch eine schöne Nacht ^^