begin process at 2010 02 10 09:38:50
  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

tbitbtn avec image format jpeg [ par vib ] existe il un composant ou une solution pour avoir un bouton du genre bitbtn avec une image au format jpeg ?A+ impression avec quickreport d'un fichier rtf avec image [ par fromage ] J'ai essayer d'imprimer un fichier *.rtf contenant du texte et des images avec quickreport ?.Mais seul le texte s'est imprimé et non l'image.Si vous s couleur ou image dans un DBgrid [ par kurt ] Est-il possible de mettre dela couleur dans un DBgrid ? comment ? une image ? comment ? Merci Image JPEG à partir d'un Canvas [ par chups82 ] J'aimerais enregistrer le canvas d'une TForm sous forme d'image jpeg. J'ai essayé de passer par le canvas d'un TBitmap mais ça ne marche pas. J'ai che BUG IMPRESSION DELPHI [ par exae ] J'ai un problème d'impression sous W98.Pic := TPicture.Create;Pic.LoadFromFile( 'c:\WINDOWS\monBmp.bmp' );Printer.BeginDoc;Printer.Canvas.StretchDraw( probleme filtre jpeg [ par fox37 ] BonjourJ'ais inserer un opendialog qui doit charger une image dans un dbimage.Normallement je devrait pouvoir ouvrir une image jpeg .J'ais definit dan Couleur transparente ?!? [ par billou_13 ] Voila , je creer un jeu de bateau ou j'ai mon ptit bateau dans une image carrée ( 33 * 33 pixels ).J'affiche mon image ainsi réalisée sur la mer de la Problème impression [ par bouba ] Bonjour, voici le code dont je me suis servis pour tester l'impression d'une simple chaine.procedure TfrmAssistantAvance.Button1Click(Sender: TObject) couleur pixel à partir d'un jpeg [ par kacola ] Bonjour, est-il possible de récupérer la couleur du pixel de coordonnées (X;Y) d'une image jpeg?Merci. impression des images [ par mecsympa ] J'ai bien réussi à imprimer des images mais je me suis rendu compte que l'image change de taille quand on change les paramètre de l'imprimante (qualit


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 0,250 sec (3)

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