Results 1 to 3 of 3

Thread: Vreemd waarom het bestand niet wordt opgeslagen (met behulp van de NativeJpg-biblioth

  1. #1

    Vreemd waarom het bestand niet wordt opgeslagen (met behulp van de NativeJpg-biblioth

    Ik heb de afbeeldingenmap niet geüpload, maar de img-map bestaat al op mijn pc. Een jpg-afbeelding had in die map moeten staan, maar niets.

    https://sourceforge.net/projects/ahk...t.zip/download

    Code:
    procedure TForm1.LoadJpegFile(const AFileName: string);
    var
      bmp_filename, JpgFileName, dest_path: String;
    begin
      BMP_filename := 'F:\bmp.bmp';
      JpgFileName := '.\img\bmp.jpg';
      dest_path := ExtractFilePath(JpgFileName);
       if not DirectoryExists(dest_path)
        then
          CreateDir(dest_path);
      if not fileexists(bmp_filename) then
        begin
        showmessage('File not found: '+bmp_filename);
        exit;
        end;
      try
        Bmp.LoadFromFile(bmp_filename);
        Jpg.CompressionQuality := 100;
        Jpg.Assign(Bmp);
        Jpg.SaveToFile(JpgFileName);
      finally
      end;
    end;
    simdesign-master\simlib\nativejpg\sdJpegImage.pas
    Code:
      // Use the LoadFromFile or LoadFromStream method to load a Jpeg image, and use
      // the SaveToFile and SaveToStream method to save a Jpeg image. Use the Bitmap
      // property to assign the bitmap to another bitmap, or to work with the actual
      // image.
    procedure TsdJpegImage.SaveToFile(const AFileName: string);
    var
      FS: TFileStream;
    begin
      FS := TFileStream.Create(AFileName, fmCreate);
      try
        SaveToStream(FS);
      finally
        FS.Free;
      end;
    end;
    toch is er de TStream-functie in het pakket
    Code:
    procedure TsdJpegImage.SaveToStream(S: TStream);
    Last edited by chlopik; 15-Jul-22 at 19:41.

  2. #2
    Hmm, je wil naar de directory '.\img\bmp.jpg' schrijven. Als ik het goed heb verwijst de '.' (punt) naar de directory van de executable. Is dat waar je de Jpg wilt hebben?
    Probeer eens een 'harde directory om te zien of het werkt.
    Ook kan je de directory van de executable opvragen en die in de plaats van de '.' (punt) zetten.
    Om een mogelijke fout bij CreateDir af te vangen is het misschien handig een Try ... Except in te bouwen, zodat je ziet of de actie wel wordt uitgevoerd.
    Je gebruikt wèl een Try ... Finally om het resultaat te op te slaan. Maar hier zou ook een (geneste) Try ... Except kunnen worden gebruikt om een foutmelding te genereren.
    Verder kan er tussen 'finally' en 'end' wat komen te staan, anders lijkt me de 'try' wat zinloos.

    Succes!

  3. #3
    Dank je. Uiteindelijk bleek dat zowel de map als het bestand in de documentenmap onder de afbeeldingen waren gemaakt.

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
  •