Results 1 to 4 of 4

Thread: Hoe een filestream goed omzetten naar memorystream C#

  1. #1

    Hoe een filestream goed omzetten naar memorystream C#

    Hoi,

    Ik heb de volgende code welke goed werkt :
    C# Code:
    1. string tempname = Path.GetTempPath() + "tempCocconTFTKey.jpg";
    2. myBitmap.Save(tempname, ImageFormat.Jpeg);      
    3. FileStream fs = File.OpenRead(tempname);
    4. sPort.Write((new BinaryReader(fs)).ReadBytes((int)fs.Length), 0, (int)fs.Length);
    5. fs.Close();

    Alleen wil ik niet eerst de bitmap als jpeg op de harde schijf opslaan.
    Ik probeer dit op de volgende manier, er komt geen foutmelding maar er wordt geen jpeg over sPort verzonden.
    s.Length heeft wel de zelfde lengte als bovenstaande voorbeeld.

    C# Code:
    1. var fs = new MemoryStream();
    2. myBitmap.Save(fs, ImageFormat.Jpeg);      
    3. sPort.Write((new BinaryReader(fs)).ReadBytes((int)fs.Length), 0, (int)fs.Length);

    Weet iemand wat ik verkeerd doe?

    Gr,
    Fonzie

  2. #2
    Zet

    Delphi Code:
    1. fs.Position := 0;
    nadat je de jpg hebt geschreven, anders zal het laden vanaf het huidige punt (het eind van de stream) gebeuren, en dat mislukt natuurlijk.

    Hetzelfde probleem zou je hebben als fs in snippet 2 een Filestream was. Het verschil tussen de eerste en tweede snippet, is dat je bij de eerste gewoon los een file maakt, en daarna pas de stream opent, waardoor deze impliciet al aan het begin staat. fs.Length heeft wel de juiste waarde, omdat die de totale lengte weergeeft, en niet vanaf de huidige positie.
    1+1=b

  3. #3
    Ja dat was hem, dank je wel GolezTrol !
    Je wil niet weten hoe lang ik hiermee aan het stoeien ben geweest, ik zou willen dat ik wat meer van jou had :-)

  4. #4
    Haha, ik zie nu pas dat het C# code is. Gelukkig werkt het daar hetzelfde als in Delphi. Behalve de := dan.
    1+1=b

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •