begin process at 2012 02 09 03:22:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Mutimédia

 > 

Image & Vidéo

 > 

Problème impression couleur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème impression couleur

mercredi 21 novembre 2007 à 21:23:34 | Problème impression couleur

kacola

Bonjour, j'ai une imprimante couleur Canon MP780 et une Laser N&B Canon (qui est par défaut),
Je souhaite imprimer une image (un jpeg) en couleur, mais voici mon problème:

Lorsque je mets la Canon MP780 par défaut, le code suivant imprime correctement en couleur:

procedure TForm1.Button1Click(Sender: TObject);
var  image_jpeg : TjpegImage;
begin
       image_jpeg := TjpegImage.Create;
       image_jpeg.LoadFromFile('C:\QCM\Images\image_0_Impression.jpg');
       printer.begindoc;
       Printer.Canvas.StretchDraw(Rect(0,0,3393,4886),image_jpeg);
       printer.Enddoc;

end;

Mais lorsque je mets la Laser par défaut et que j'ajoute 'printer.PrinterIndex:=3' qui est l'index de la MP780
le code suivant imprime uniquement en noir et blanc:

procedure TForm1.Button1Click(Sender: TObject);
var  image_jpeg : TjpegImage;
begin
       printer.PrinterIndex:=3;
       image_jpeg := TjpegImage.Create;
       image_jpeg.LoadFromFile('C:\QCM\Images\image_0_Impression.jpg');
       printer.begindoc;
       Printer.Canvas.StretchDraw(Rect(0,0,3393,4886),image_jpeg);
       printer.Enddoc;

end;

L'ajout de la ligne 'printer.PrinterIndex:=3' donne une impression en N&B.
J'ai absolument besoin d'avoir ma Laser en défaut et dimprimer en couleur sur la MP780

Config:
Windows Vista  (Ne marche pas non plus sous XP).
Delphi Turbo.
Canon MP780 (ce n'est pas l'imprimante, j'ai essayé sur une autre imprimante et sur un createur de pdf)

Merci beaucoup de toute aide.
Kacola.

mercredi 21 novembre 2007 à 23:55:02 | Re : Problème impression couleur

bongenie

Réponse acceptée !
Tu devrais trouver ton bonheur la dedans :


Commentaire de salimdz2004 le 20/04/2007 03:23:57

j'ai modifier le programme mnt il marche avec la Base de Registre

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, Inifiles;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Label1: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

  procedure Liste_Imprimante(Destino : TStrings);
  procedure Selectionne_Imprimante(Imprimante : String);

implementation
uses Registry;
{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
//
end;

procedure Liste_Imprimante(Destino : TStrings);
var
    RegCode             : TRegistry;
    Str                 : String;
    vtCount, i          : Integer;
begin
Destino.Clear;
RegCode := TRegistry.Create;
try
RegCode.RootKey := HKEY_CURRENT_USER;
if RegCode.OpenKey('Software\Microsoft\Windows NT\CurrentVersion\Devices',False)
then RegCode.GetValueNames(Destino);
finally
RegCode.CloseKey;
RegCode.Free;
end;
end;

procedure Selectionne_Imprimante(Imprimante : String);
var
    RegCode             : TRegistry;
    Str, Str1           : String;
    Arr_Tmp             : Array[0..64] of Char;
    vtCount, i          : Integer;
begin
RegCode := TRegistry.Create;
try
RegCode.RootKey := HKEY_CURRENT_USER;
if RegCode.OpenKey('Software\Microsoft\Windows NT\CurrentVersion\Devices',False)
then begin
     if RegCode.ValueExists(Imprimante)
     then begin
          Str1 := RegCode.ReadString(Imprimante);
          Str := Imprimante + ',' + Str1;
          RegCode.CloseKey;
          RegCode.RootKey := HKEY_CURRENT_USER;
          if RegCode.OpenKey('Software\Microsoft\Windows NT\CurrentVersion\Windows',False)
          then begin
               if RegCode.ValueExists('Device')
               then RegCode.WriteString('Device',Str);
               //Windows Refresh changes :
               StrCopy(Arr_Tmp, 'windows');
               SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(@Arr_Tmp));
               end;
          end;
     end;
finally
RegCode.CloseKey;
RegCode.Free;
end;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Liste_Imprimante(ListBox1.Items);
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if (ListBox1.ItemIndex <> -1)
then Selectionne_Imprimante(ListBox1.Items[ListBox1.ItemIndex]);
end;

end.



jeudi 22 novembre 2007 à 16:49:39 | Re : Problème impression couleur

kacola

Merci beaucoup, c'est exactement ce que j'attendais, un moyen de changer l'imprimante par defaut.
je vais pouvoir m'en sortir je pense, MERCI encore!!!

Kacola.


Cette discussion est classée dans : impression, couleur, image, printer, jpeg


Répondre à ce message

Sujets en rapport avec ce message

Impression sur imprimantes couleur et noir/blanc [ par LaNono ] Bonjour tout le monde, J'utilise Delphi 6 pour imprimer différents documents. et j'ai découvert un problème un peu bizzare que je n'arrive pas à réso Printer.BackGround [ par sarssor ] Salut si je imprime un image avec Fond blanc (white bachground) Je n'obtiens pas de couleur ! comment puis-je changer la couleur transparente de Pri Importer Une Image Jpeg Dans Une Forme (Delphi) [ par madjid90 ] slt tt le monde je suis un débutant en delphi je veux afficher une simple Image de type Jpeg dans une forme quoi utiliser : "TImage" ou "TJpegImage" du jpeg ou jpg dans une image Tdbimage [ par yvessimon ] TDBimage  accepte le format bmp.Avec  les formats   jpeg   ou   jpg   il y a une erreur !Question :Est-il possible d'utiliser d'autre format que bmp a Comment récuperer la taille d'une image JPEG [ par cirec ] Salut à tous,Je fais appel à vos lumières parce que là je coince grave.Je cherche le moyen de récuperer la taille (en pixels) d'une Image JPEG et PNG image en noir et blanc [ par noch100 ] bonjour cest la  1er fois que j'ecrit dans ce forum mais je suit depuit 4 ans codesource1- je cherche a savoir comment je peu transformer une image co Texturer une fenetre ou y placer une image ? [ par vieuxpere ] Bonjour, Je souhaiterais savoir comment je peux changer la couleur de fond de ma form par une texture (ou un dégradé de couleur), voire si c'est poss Application d'une couleur à une image [ par padsou ] Salut à tous, J'essaie de concevoir une application "skinnable", c'est à dire qu'à tout moment l'utilisateur aura le choix de modifier les couleurs d Chargement d'image dans un TImage [ par John Dogget ] Bonjour à tous.Je souhaite afficher une image dans un TImage par programmation, et non via IDE.Voila ce que j'ecris :Image1.Picture.LoadFromFile();Ca couleur image [ par bassemre ] salut tout le monde j'ai utilise un timage pour dissiner des rectangles ,j'ai besoin de colorer ces rectangles ,oui il ya instruction pour colorer


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,122 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales