AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Problem beim Drucken mit einer Bitmap als Brush
Thema durchsuchen
Ansicht
Themen-Optionen

Problem beim Drucken mit einer Bitmap als Brush

Ein Thema von daschaos · begonnen am 22. Aug 2007 · letzter Beitrag vom 23. Aug 2007
Antwort Antwort
daschaos

Registriert seit: 23. Mai 2007
117 Beiträge
 
Delphi 2006 Professional
 
#1

Problem beim Drucken mit einer Bitmap als Brush

  Alt 22. Aug 2007, 07:57
Morgen!

Weiß einer, woran es liegen könnte, dass meine Bitmap, die als Brush des Canvas benutzt wird, beim Drucken schlichtweg ignoriert wird? Gibt es da etwas, dass man beachten muss?

Schon einmal Danke im Vorraus für jeden Tipp!

LG,
Laura
  Mit Zitat antworten Zitat
DelphiKlaus

Registriert seit: 18. Okt 2006
100 Beiträge
 
Delphi 6 Professional
 
#2

Re: Problem beim Drucken mit einer Bitmap als Brush

  Alt 22. Aug 2007, 08:44
Hallo Laura,

ist es nicht so, dass eine Bitmap, die als Brush verwendet wird, nur 8x8 Pixel gross sein darf. Und auf einem Drucker ist 8x8 so gut wie nichts, in der Regel zumindest weniger als 1 Quadratmillimeter

Klaus
  Mit Zitat antworten Zitat
daschaos

Registriert seit: 23. Mai 2007
117 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Problem beim Drucken mit einer Bitmap als Brush

  Alt 22. Aug 2007, 08:47
Also die ist bei mir sogar nur 3x3 groß. Das heißt, der Drucker malt die Bitmap nur einmal und füllt den Canvas nicht ganz damit aus wie sonst? Wie kann ich das Problem denn dann beheben?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Problem beim Drucken mit einer Bitmap als Brush

  Alt 22. Aug 2007, 08:55
könntest du bitte etwas quelltext zeigen was genau du machst?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
daschaos

Registriert seit: 23. Mai 2007
117 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Problem beim Drucken mit einer Bitmap als Brush

  Alt 22. Aug 2007, 09:19
Klar:

Ich übergebe entweder Printer.Canvas oder Self.Canvas, je nach dem ob ich meine Graphik einfach auf dem Bildschirm oder auf dem Drucker ausgeben möchte. BackgroundBitmap ist global definiert und wird im Konstruktor der Form angelegt.

Delphi-Quellcode:
FBackgroundBitmap := TBitmap.Create;
FBackgroundBitmap.Canvas.Pen.Width := 2;
FBackgroundBitmap.Canvas.Pen.Color := clBlack;
FBackgroundBitmap.Transparent := True;
FBackgroundBitmap.Width := 3;
FBackgroundBitmap.Height := 3;
Delphi-Quellcode:
procedure DrawOuterRect(ACanvas: TCanvas; ARect: TRect; Layer: Integer; Background: Boolean; Offset: Integer);
var
  BorderColor: TColor;
begin
  Offset := Max(1, GetLogicalUnit(ACanvas, Offset));
  ACanvas.Pen.Width := Max(1, GetLogicalUnit(ACanvas, Border));
  BorderColor := LayerColorScheme(Layer);
  ACanvas.Brush.Color := BorderColor;

  if (Background) then
  begin
    BackgroundBitmap.Canvas.Brush.Color := BorderColor;
    BackgroundBitmap.Canvas.FillRect(Rect(0,0,FBackgroundBitmap.Width, FBackgroundBitmap.Height));
    BackgroundBitmap.Canvas.MoveTo(Round(FBackgroundBitmap.Width/2), Round(FBackgroundBitmap.Height/2));
    BackgroundBitmap.Canvas.LineTo(Round(FBackgroundBitmap.Width/2), Round(FBackgroundBitmap.Height/2));
    BackgroundBitmap.Canvas.Brush.Color := LayerColorScheme(Layer);
    ACanvas.Brush.Bitmap := BackgroundBitmap;
  end //if(Background)
  else
    ACanvas.Brush.Style := bsSolid;

  ACanvas.Pen.Color := GraphUtil.GetShadowColor(BorderColor, -100);

  ACanvas.Rectangle(ARect);
end;
  Mit Zitat antworten Zitat
daschaos

Registriert seit: 23. Mai 2007
117 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Problem beim Drucken mit einer Bitmap als Brush

  Alt 23. Aug 2007, 10:22
Funktioniert jetzt, danke! Hatte was übersehen an anderer Stelle...
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:53 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