Bonjour & Bienvenue sur EOS-Numerique
Réseaux Sociaux : Follow us on Facebook Follow us on Twitter


Sign Up






Affichage des résultats 1 à 44 sur 44

Discussion: ED-SDK 2.7 En Delphi

Vue hybride

  1. #1
    Nouvel utilisateur
    Inscription
    juillet 2015
    Localisation
    NIMES
    Âge
    53
    Messages
    1
    Boîtier
    Canon EOS 1100D
    Objectif(s)
    Rien de partiuclier :-) !

    Par défaut

    Bonjour Xifit,

    je viens de tomber sur ce sujet qui m'interresse au plus haut point.

    Pourrais-tu me faire parvenir la DLL ?

    Merci d'avance.

    Gilles

  2. #2
    Nouvel utilisateur
    Inscription
    octobre 2015
    Localisation
    Denmark
    Âge
    65
    Messages
    2
    Boîtier
    Canon EOS 1000D
    Objectif(s)
    Skilled in Optics and Delphi programming

    Par défaut Avoiding the flickering and speed up things

    Next problem in PixelKs code from 09/04/2014 17h 14 is the annoying flickering and bad timing while in zooming in liveView.

    I did fix this by downloading the fast jpeg decoder unit jpegdec.pas from http://synopse.info/files/jpegdec.zip

    I did include jpegdec in the uses clause of the CanonCamera.pas


    Code:
    unit CanonCamera;
    
    
    interface
    
    
    uses
      Windows, Messages, Classes, Sysutils, Graphics, Jpeg,
      EDSDKApi, EDSDKType, EDSDKError, ExtCtrls,
      jpegdec;  //FabInSpace did add reference to jpegdec.pas on 11-10-2015
    And I did the following changes to the last part of the unit:


    Code:
    function TCanonCamera.DownloadLiveViewImage(Image : TImage) : Boolean;
    var
      MemStream: TMemoryStream;
      Stream : EdsStreamRef;
      evfImage : EdsEvfImageRef;
      JPG: TJPEGImage;
      ImageData : Pointer;
      ImageSize : EdsUInt32;
      BMP: TBitMap;  //Added 11-10-2015
    begin
      Result := False;
      stream   := nil;
      evfImage := nil;
      try
        Self.LastError := EdsCreateMemoryStream( 0, Stream );
        if Self.LastError <> EDS_ERR_OK then
          Exit;
    
    
        try
          Self.LastError := EdsCreateEvfImageRef( Stream, evfImage );
          if Self.LastError <> EDS_ERR_OK then
            Exit;
    
    
          Self.LastError := EdsDownloadEvfImage(Self.FRef , evfImage);
          if Self.LastError <> EDS_ERR_OK then
          begin
            EdsRelease(stream);
            Exit;
          end;
    
    
          Self.LastError := EdsGetPointer(Stream, ImageData);
          if Self.LastError <> EDS_ERR_OK then
          begin
            EdsRelease(evfImage);
            EdsRelease(stream);
            Exit;
          end;
    
    
          Self.LastError := EdsGetLength(Stream, ImageSize);
          if Self.LastError <> EDS_ERR_OK then
          begin
            EdsRelease(evfImage);
            EdsRelease(stream);
            Exit;
          end;
    
    
          MemStream := TMemoryStream.Create;
          try
            MemStream.WriteBuffer(ImageData^, ImageSize);
            MemStream.position := 0;
    
    
            {Old lines from before 11-10-2015
    
    
            JPG := TJPEGImage.Create; // The Stream is a JPEG Image
            try
              JPG.LoadFromStream(MemStream);
              //JPG.SaveToFile('LVSteam.jpg');
    
    
              if not Assigned(Image.Picture.Bitmap) then
                Image.Picture.Bitmap := TBitmap.Create;
              Image.Picture.Bitmap.Assign(JPG);
    
    
              Result := True;
            Finally
              JPG.Free;
            end;       }
    
    
            //New lines elliminating flickering
            with TMemoryStream.Create do
            try
              LoadFromstream(MemStream);
    
    
              BMP := JpegDecode(memory, Size);
    
    
              if BMP <> nil
              then
                try
                  Image.Picture.Bitmap := Bmp;
                finally
                  BMP.free;
                end;
            finally
              Free;
            end;
    
    
            //end of new lines from 11-10-2015
    
    
          finally
            MemStream.Free;
          end;
    
    
        finally
          EdsRelease(evfImage);
        end;
      finally
        EdsRelease(stream);
      end;
    end;

 

 

Informations de la discussion

Utilisateur(s) sur cette discussion

Il y a actuellement 1 utilisateur(s) naviguant sur cette discussion. (0 utilisateur(s) et 1 invité(s))

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  
Fuseau horaire GMT +1. Il est actuellement 09h04.
Powered by vBulletin® Version 4.2.5
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.
Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2026 DragonByte Technologies Ltd.
Auto Closing Of Threads provided by Threads Auto Close (Lite) - vBulletin Mods & Addons Copyright © 2026 DragonByte Technologies Ltd.
Copyright © Eos-numerique 2004-2025
vBulletin Skin By: PurevB.com