AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bilder drucken mit GR32lib
Thema durchsuchen
Ansicht
Themen-Optionen

Bilder drucken mit GR32lib

Ein Thema von alienous · begonnen am 24. Aug 2006 · letzter Beitrag vom 25. Aug 2006
Antwort Antwort
Seite 1 von 2  1 2      
alienous

Registriert seit: 27. Jan 2006
94 Beiträge
 
#1

Bilder drucken mit GR32lib

  Alt 24. Aug 2006, 21:52
hi,

hab ein kleines problem, beim druck im LOMETRIC modus (wahrscheinlich bei allen modi) erscheint mir das gedruckte bild verfälscht! dabei öffne ich das bild mit der Image32 kompo, und übergebe das handle dem drucker, also ich verändere am bild nichts, und trotzdem erscheint es mir "heller" und evntl mit einem rotstich im vergleich zum ausdruck des selben bildes mit photoshop etc.

woran kann das liegen? habt ihr ähnliche erfahrungen gemacht? wieso sehen die bilder, die mit anderen komerziellen programmen gedruckt werden, viel besser aus? behandeln die die bilder noch mit irgendwelchen routinen oder hat es was mit den farbschemen zutun?

komme da echt nich weiter, need help!

danke
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Bilder drucken mit GR32lib

  Alt 24. Aug 2006, 22:25
wie übergibst du denn dem Drucker das Handle?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
alienous

Registriert seit: 27. Jan 2006
94 Beiträge
 
#3

Re: Bilder drucken mit GR32lib

  Alt 24. Aug 2006, 22:38
ach sorry, hab mich da wohl verschrieben, das is meine methode

Delphi-Quellcode:
procedure BildDrucken(PCanvas : TCanvas; px1, py1, px2, py2 : Integer; pmotiv : tmotiv);
var gra : Tbitmap32;
begin
        gra := Tbitmap32.Create;
        gra.LoadFromFile('C:\motive\'+pmotiv.Bildname);
        gra.Rotate270();
        gra.DrawTo(pcanvas.Handle, Rect(px1,py1,px2,py2), gra.BoundsRect);
        gra.Free;
end;
und der aufruf:

Delphi-Quellcode:
  with Printer do
  begin
    BeginDoc;
    SetMapMode(Canvas.Handle, MM_LOMETRIC);
    BildDrucken(Canvas, 0, 0, motivbreite, motivhoehe, TestMotiv);
    EndDoc;
  end;
so, hoffentlich isses zu verstehen
  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: Bilder drucken mit GR32lib

  Alt 24. Aug 2006, 22:41
Hast du es schonmal mit einem normalen TBitmap versucht? Im übrigen scheint es als würde dein Bild durch dein Drehen gespiegelt ausgegeben werden denn durch dein drehen wird links und rechts auch mit vertauscht.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
alienous

Registriert seit: 27. Jan 2006
94 Beiträge
 
#5

Re: Bilder drucken mit GR32lib

  Alt 24. Aug 2006, 22:54
meinste das liegt am spiegeln? weiss gerade nicht wo du das siehst, wie würdest du es machen?

und da das programm später dazu genutzt wird, um fotos zu drucken, kann ich nicht die normalen imagekomponenten nutzen, da die allein schon von der qualität schlechter sind. eventuell sollen noch so gimmiks wie bildrand rein, dazu braucht man ja transparenz. hab mich vorher informiert hier im board durch suchen, und denke, das für mich somit ja nur gr32 in frage kommt. aber so wie es aussieht, nutzen die kompo doch ziehmlich viele, ist es denen etwa nich aufgefallen? schon seltsam die problematik.
  Mit Zitat antworten Zitat
alienous

Registriert seit: 27. Jan 2006
94 Beiträge
 
#6

Re: Bilder drucken mit GR32lib

  Alt 25. Aug 2006, 16:08
habe jetz noch etwas mit

gra.ResamplerClassName := 'TLinearResampler'; experimentiert, und dabei die ausgabe in ein TImage32 auf der form geleitet, dabei werden die farben ziehmlich stark verfälscht, mit und ohne den resampler! wieso? liegt es eventuell am drawto?
wenn ich das bild direkt mit der kompo öffne, wird das bild korrekt angezeigt.

Delphi-Quellcode:
procedure BildDrucken(PCanvas : TCanvas; px1, py1, px2, py2 : Integer; pmotiv : tmotiv);
var gra : Tbitmap32;
begin
        gra := Tbitmap32.Create;
        gra.LoadFromFile('C:\motive\'+pmotiv.Bildname);
        gra.ResamplerClassName := 'TLinearResampler';
        //gra.Rotate270();
        gra.DrawTo(pcanvas.Handle, Rect(px1,py1,px2,py2), gra.BoundsRect);
        gra.Free;
end;
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Bilder drucken mit GR32lib

  Alt 25. Aug 2006, 16:16
Ich würd n TKernelResampler mit Lanczos hernehmen.

also Classname auf TKernelResampler und irgendwo kannst du dann diesen Kernel einstellen... "ResamplerKernel" oder "Kernelmode" im TBitmap32 muss das sein...
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
alienous

Registriert seit: 27. Jan 2006
94 Beiträge
 
#8

Re: Bilder drucken mit GR32lib

  Alt 25. Aug 2006, 16:58
soo, habs jetz so ungefähr, liegt der fehler aber wirklich am fehlenden resampler? schaut euch mal das bild im anhang aus, wie das kindergesicht angezeigt wird nach dem code hier:

Delphi-Quellcode:
procedure BildDrucken(PCanvas : TCanvas; px1, py1, px2, py2 : Integer; pmotiv : tmotiv);
var gra,gra2 : Tbitmap32;
    KRS: TKernelResampler;
begin
        gra := Tbitmap32.Create;
        gra2 := Tbitmap32.Create;
        gra.LoadFromFile('C:\motive\'+pmotiv.Bildname);

        //KRS := TKernelResampler.Create(gra);
        //KRS.Kernel := TLanczosKernel.Create;
      
        gra.DrawTo(pcanvas.Handle, Rect(px1,py1,px2,py2), gra.BoundsRect);
        gra.Free;
        gra2.Free;
end;
kann es auch sein, das tbitmap32 das bild beim drawto oder beim rotieren eventuell etwas aufhellt?

danke
Miniaturansicht angehängter Grafiken
kind_183.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Bilder drucken mit GR32lib

  Alt 25. Aug 2006, 18:33
also sowas sollte eigentlich nicht passieren... und aufgehellt wird normalerweise auch nichts... ich bin mit meinem latein am ende. das sieht ja schon nach veritablen falschfarben aus...
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Bilder drucken mit GR32lib

  Alt 25. Aug 2006, 18:41
was spricht dagegen das bild mit bitblt oder stretchblt auf die Druckercanvas zu bringen?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  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 18:28 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