Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Memorystream vs TMemoryStream

  Alt 17. Apr 2015, 09:17
Hab es jetzt mal so versucht direkt die Image Daten zu übergeben.
hab noch keinen UnmanagedMemoryStream erzeugt.

Die Delphi Seite mag das anscheinend nicht.

Code:
IntPtr pval = IntPtr.Zero;

var BitmapStream = new MemoryStream();

using (var fs = System.IO.File.Open(OpenFileDialog1.FileName, System.IO.FileMode.Open))
{
  fs.CopyTo(BitmapStream);
  BitmapStream.Position = 0;

  Bitmap bmp = (Bitmap)Bitmap.FromStream(BitmapStream);

  System.Drawing.Imaging.BitmapData bd = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height),
    ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
  try
  {
    pval = bd.Scan0;
  }
  finally
  {
    bmp.UnlockBits(bd);
  }
  //....
  CoverArtData.Data = pval;

  if (TagsLib.TagsLibrary_AddCoverArt(Tags, TTagType.ttAutomatic, CoverArtData) != 0)
  {
    MessageBox.Show("Error while adding cover art: ", OpenFileDialog1.FileName, MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Error);
  }
Zitat:
Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist.
wenn es langsam nicht hinhaut muss er selbst sehen wie er das macht.

gruss

Geändert von EWeiss (17. Apr 2015 um 09:24 Uhr)
  Mit Zitat antworten Zitat