Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: Übersetzung C++ -> Delphi

  Alt 2. Aug 2009, 08:05
Delphi-Quellcode:
type
  ULONG_PTR = Cardinal;
  TPsucHandle = ULONG_PTR;

function Bitmap2LCD(Psuc_Handle: TPsucHandle; Bitmap: TBitmap): integer;
var
  bmp: tagBitmap;
  Frame2LCDResult: integer;
begin
  Result := 0;

  if not assigned(Bitmap) then
  begin
    Result := -1; // Bitmap ist nicht vorhanden/erstellt
    exit;
  end;

  if not ((Bitmap.Width = 128) and (Bitmap.Height = 64)) then
  begin
    Result := -2; // Bitmapgroesse stimmt nicht
    exit;
  end;

  if Bitmap.PixelFormat <> pf24Bit then // nur RGB zulassen
    Bitmap.PixelFormat := pf24Bit;

  if Bitmap.HandleType <> bmDIB then // nur DIB-Format zulassen
    Bitmap.HandleType := bmDIB;


  ZeroMemory(@bmp, sizeof(tagBitmap));
  GetObject(Bitmap.Handle, sizeof(tagBitmap), @bmp);

  Frame2LCDResult := PSUC_Frame2LCD(Psuc_Handle, bmp.bmBits, 64 * 128 * 3); // ImageSize = Höhe = 64 * Breite = 128 * RGB=3

  // if Frame2LCDResult <> 0 then // hier Fehler auswerten siehe Docu.
  // Result := -3; // Bitmap(roh)daten konnten nicht übertragen werden
end;
* ungetested


Crosspost im DF Bitte in Zukunft selbst mit angeben

Um was für ein Display handelt es sich denn ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat