Avatar billede cybermike Nybegynder
10. maj 2000 - 08:47 Der er 1 kommentar og
1 løsning

JPG Grayscale på bærbar

Min bærbare har en LCD sort/hvid skærm, som kan vise 640x480 den har 512 kb skærmram.
Det jeg så vil er at vise JPEG billeder på den skærm i gråtoner.
Det program jeg har nu viser en gang sne og nogle uskarpe billeder.
Jeg kører primært dos på min bærbare så en løsning i pascal/dos ville være at foretrække, hvis dette ikke kan lade sig gøre, så har jeg også Windows 3.1 på den og jeg har Delphi 1.

Men jeg ville foretrække en dos løsning.
Avatar billede borrisholt Novice
23. maj 2000 - 19:13 #1
Hej Cybermike

prøv den her ... Den kan lave en GrayScale på en bitmap ... Så kan du jo selv konvetere fra en JPEG til en bitmap

Jens B

function ConvertToGrayscale (const bitmap : TBitmap) : TBitmap;
var
  x, y : Integer;
  ps, ps1, pr, pr1 : PRGBTriple;
  bps : Integer;
  n : Integer;

begin
  if bitmap.PixelFormat <> pf24Bit then
    raise Exception.Create ('Invalid pixel format');
  result := TBitmap.Create;
  result.PixelFormat := bitmap.PixelFormat;
  result.Height := bitmap.Height;
  result.Width := bitmap.Width;

  ps1 := bitmap.ScanLine [0];
  pr1 := result.ScanLine [0];

  bps := BytesPerScanLine (bitmap.Width, 24, 32);

  for y := 0 to bitmap.Height - 1 do
  begin
    ps := PRGBTriple (PChar (ps1) - bps * y);
    pr := PRGBTriple (PChar (pr1) - bps * y);

    for x := 0 to Bitmap.Width - 1 do
    begin
      n := (ps^.rgbtBlue + ps^.rgbtGreen + ps^.rgbtRed) div 3;
      pr^.rgbtBlue := n;
      pr^.rgbtGreen := n;
      pr^.rgbtRed := n;

      Inc (pr);
      Inc (ps)
    end
  end;
  GDIFlush
end;
Avatar billede cybermike Nybegynder
24. maj 2000 - 08:11 #2
Beklager, den bærbare er gået i stykker.

Det har derfor ingen interesse mere!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester