Avatar billede test42 Nybegynder
12. december 2002 - 12:20 Der er 7 kommentarer og
1 løsning

WebApp: Billede skal retur

Jeg har en WebApp (DLL), som når den kaldes, skal returnere et billede...
Det har jeg fikset ved at  Response.ContentType := 'image/jpeg';

Men hvordan får jeg smuttet billedet ind i selve Response.Content..?
Avatar billede dkn Nybegynder
12. december 2002 - 12:28 #1
Prøv med dette:

var
  MemStrm: TMemoryStream;
  Bitmap: TBitmap;
  JPEG: TJPEGImage;
begin
  MemStrm := TMemoryStream.Create;
  Bitmap := TBitmap.Create;
  JPEG := TJPEGImage.Create;

  Bitmap.LoadFromFile('C:\test.bmp');
  JPEG.Assign(Bitmap);
  JPEG.SaveToStream(MemStrm);
  MemStrm.Position := 0;

  Response.ContentType := 'image/jpeg';
  Response.CotentStream := MemStrm;

  JPEG.Free;
  Bitmap.Free;
end;
Avatar billede test42 Nybegynder
12. december 2002 - 12:47 #2
Der kommer bare et billede, med et kryds i...
Det behøver muligvis ikke være JPEG - bitmap kan også bruges
Avatar billede dkn Nybegynder
12. december 2002 - 12:53 #3
det kode jeg har lavet til dig åbner jo nettop en bitmap fil, laver den til jpg og sender den
Avatar billede test42 Nybegynder
12. december 2002 - 13:06 #4
Ohh - I see.. :)
Men nu ville jeg ikke have åbnet en fil, men returere et billede, der bli'r lavet "runtime"...

Det her kan måske lede dig på sporet af hvad jeg mener..

var
  Bar: TBarcode;
  MemStrm: TMemoryStream;
  Bitmap: TBitmap;
begin
  Bar := Tbarcode.Create(nil);
  Bar.Height := 100;
  Bar.Text := Request.QueryFields[0];
  Bar.Typ := bcCode128C;
  Bar.ShowText := bcoCode;
  MemStrm := TMemoryStream.Create;
  Bitmap := TBitmap.Create;
  Bar.DrawBarcode(Bitmap.Canvas);
  Bitmap.SaveToStream(MemStrm);
  MemStrm.Position := 0;

  Response.ContentType := 'image/bmp';
  Response.ContentStream := MemStrm;
 
  Bitmap.Free;
end;
Avatar billede dkn Nybegynder
12. december 2002 - 13:12 #5
ehm ja men hvad er dit problem så ligenu?
Jeg kender jo ikke TBarcodes methods, så det er svært at hjælpe dig videre.
Du kan evt sende TBarcode component og project til dkn@pc.dk
Avatar billede test42 Nybegynder
12. december 2002 - 13:21 #6
Sendt...
Avatar billede test42 Nybegynder
12. december 2002 - 13:24 #7
jeg står der, at alt hvad der er i mit browser, er et "broken" billede...
Avatar billede dkn Nybegynder
12. december 2002 - 13:46 #8
var
  Bar: TAsBarcode;
  MemStrm: TMemoryStream;
  Bitmap: TBitmap;
begin
  Bar := TAsBarcode.Create(nil);
  MemStrm := TMemoryStream.Create;
  Bitmap := TBitmap.Create;

  Bar.Height := 50;
  Bar.ShowTextPosition := stpBottomCenter;
  Bar.Text := '1234';
  Bar.Typ := bcCode128C;
  Bar.ShowText := bcoCode;

  Bitmap.Height := Bar.Height;
  Bitmap.Width := Bar.Width;

  Bar.DrawBarcode(Bitmap.Canvas);

  Bitmap.SaveToFile('test.bmp'); //Debug
  Bitmap.SaveToStream(MemStrm);
  MemStrm.Position := 0;

  Response.ContentType := 'image/bmp';
  Response.ContentStream := MemStrm;

  Bitmap.Free;
  Bar.Free;
end;

det der virker
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