AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Drucken von Bitmaps / Größenanpassung an Druckercanvas / Wie
Thema durchsuchen
Ansicht
Themen-Optionen

Drucken von Bitmaps / Größenanpassung an Druckercanvas / Wie

Ein Thema von mschaefer · begonnen am 21. Jul 2004 · letzter Beitrag vom 21. Okt 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#1

Drucken von Bitmaps / Größenanpassung an Druckercanvas / Wie

  Alt 21. Jul 2004, 09:27
Moin, Moin,
also heute habe ich ein Problem, wo ich wirklich gnadenlos hänge:

Habe neben Texten auch eine Bitmap auszudrucken. Das ganze wird
auf den Druckercanvas ausgegeben. Mit den Texten ist das auch kein
Problem. Aber die Bitmap macht mir Probleme.

Die Bitmap ist oft höher aufgelöst als der Canvas, muß aber auf
eine definierte Größe Reampled werden. Wie groß die Bitmap selbst
ist weiß ich eigentlich nicht, da der Benutzer diese selbst auswählen
kann.

FRAGE: Wo finde ich etwas zum Resampling von Bitmaps zum Ausdruck ?

Viele Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
roderich
(Gast)

n/a Beiträge
 
#2

Re: Drucken von Bitmaps / Größenanpassung an Druckercanvas /

  Alt 21. Jul 2004, 09:46
schau mal unter

http://g32.org

da hab ich eine library für Delphi her, die u.a. Bitmaps resamplen (interpolieren) kann.

Roderich
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#3

Re: Drucken von Bitmaps / Größenanpassung an Druckercanvas /

  Alt 21. Jul 2004, 10:49
TCanvas.StretchDraw könnte Dir evtl. auch weiterhelfen.

Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#4

Re: Drucken von Bitmaps / Größenanpassung an Druckercanvas /

  Alt 21. Jul 2004, 18:37
Danke,

arbeite mich da erst mal ein und melde mich nochmal

Grüße aus dem sommerlichen ( Ha! Ein Tag unterbrechung der Regenzeit) Hannover

// Martin
Martin Schaefer
  Mit Zitat antworten Zitat
roderich
(Gast)

n/a Beiträge
 
#5

Re: Drucken von Bitmaps / Größenanpassung an Druckercanvas /

  Alt 22. Jul 2004, 09:10
Zitat:
TCanvas.StretchDraw könnte Dir evtl. auch weiterhelfen.
Fürs erste sicherlich. StretchDraw interpoliert aber nicht, sondern eliminiert oder addiert ganze Zeilen/Spalten. Ein kleines Bild auf einen großen Canvas gestretcht erzeugt starke Treppenstufen.

Die Funktion aus der g32 library kann u.a. interpolieren mit Anti-Aliasing.

Gruß
roderich
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#6

Re: Drucken von Bitmaps / Größenanpassung an Druckercanvas /

  Alt 22. Jul 2004, 11:20
Moin, moin,

Hier kommt das StretchDraw Beispiel. Ok das ist im weitesten Sinne "HOFFNUNGSLOS".
Aber nichts für ungut Steve, hat geholfen eine Möglichkeit zu eleminieren.
Eigentlich wollte ich ja nur das SW-Bild ausdrucken. Ok Jetzt brauch ich erstmal
ein Beispiel von der G32-Libary....



Viele Grüße // Martin
Angehängte Dateien
Dateityp: zip printimage.zip (93,6 KB, 21x aufgerufen)
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von Ricane
Ricane

Registriert seit: 21. Mär 2003
Ort: Quickborn
170 Beiträge
 
Delphi 7 Architect
 
#7

Re: Drucken von Bitmaps / Größenanpassung an Druckercanvas /

  Alt 30. Jul 2004, 17:37
Moinsen,

ich habe ein ähnliches Problem! Ich möchte ein Bild drucken und dann auf diesem Bild noch ein paar Textfelder... Mit diesem Quellcode druckt er das Bild ohne Problem!

Delphi-Quellcode:
  Printer.BeginDoc;
  With Printer.Canvas Do
  Begin
    Rect := Bounds(0, 0, Printer.PageWidth, Printer.PageHeight);
    StretchDraw(Rect, imgObjekt.Picture.Bitmap);
  End;
  Printer.Enddoc;
Wenn ich aber jetzt den Code für das Drucken der Textfelder einbinde, wird das Bild nicht mehr gedruckt, und die Textfelder viel zu klein...

Der code sieht jetzt so aus..... hat jemand eine Ahnung was da falsch läuft?

Delphi-Quellcode:
  Printer.BeginDoc;
  Printer.Canvas.Font.Name := 'MS Sans Serif';
  Printer.Canvas.Font.Height := 8;

  With Printer.Canvas Do
  Begin
    For I := 1 To AnzahlKompos Do
    Begin
      Kompo := FindComponent('Kompo' + IntToStr(I));
      L := (Kompo As TLabel).Left;
      O := (Kompo As TLabel).Top;
      Text := (Kompo As TLabel).Caption;
      TextOut(L, O, Text);
    End;
    Rect := Bounds(0, 0, Printer.PageWidth, Printer.PageHeight);
    StretchDraw(Rect, imgObjekt.Picture.Bitmap);
  End;
  Printer.Enddoc;

Grüsse,

Ricane
Hendrik
So much to Code... so less Time....

www.RicaneSoftware.de
  Mit Zitat antworten Zitat
Benutzerbild von Ricane
Ricane

Registriert seit: 21. Mär 2003
Ort: Quickborn
170 Beiträge
 
Delphi 7 Architect
 
#8

Re: Drucken von Bitmaps / Größenanpassung an Druckercanvas /

  Alt 3. Aug 2004, 08:43
*schieb - schieb*

Kann es vielleicht daran liegen, das man bei den Textfeldern (der "TextOut" Befehl) auch noch eine Art "StretchDraw" ausführen muss, damit diese auch im richtigen Verhältnis stehen, wie das Bild?!

Oder ist es generell nicht möglich beides auf das selbe Papier zu bringen; und dabei natürlich auch noch gestreckt?!


Hoffe irgend jemand weiss da mehr, denn ich bin bereits stark am verzweifeln



Ricane
Hendrik
So much to Code... so less Time....

www.RicaneSoftware.de
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#9

Re: Drucken von Bitmaps / Größenanpassung an Druckercanvas /

  Alt 3. Aug 2004, 11:03
Servus,

die Schrift ist so winzig, weil Du Height statt Size geändert hast.

Versuch mal Folgendes: Erst Grafik, dann alles, was mit Text zu tun hat..
Delphi-Quellcode:
Printer.BeginDoc;
With Printer.Canvas Do
Begin
  StretchDraw(Printer.Canvas.ClipRect, bmp);
  Font.Name := 'MS Sans Serif';
  Font.Size := 8;
  {.. Textausgabe ..}
End;
Printer.Enddoc;
Bei mir gings so dann. Warum's andersum nicht ging, ist mir leider auch nicht ganz klar
[edit]Habe als Rect lieber "TCanvas.ClipRect" benutzt.[/edit]

Ich hoffe, Dein Problem ist damit trotzdem (wenigstens teilweise) gelöst

Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
Benutzerbild von Ricane
Ricane

Registriert seit: 21. Mär 2003
Ort: Quickborn
170 Beiträge
 
Delphi 7 Architect
 
#10

Re: Drucken von Bitmaps / Größenanpassung an Druckercanvas /

  Alt 3. Aug 2004, 13:17
Besten Dank!

Kann es leider hier nicht testen (bin noch @ Work...), bin aber schon sehr gespannt ob das funzt....


Beste Grüsse,

Ricane
Hendrik
So much to Code... so less Time....

www.RicaneSoftware.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz