begin process at 2010 02 10 07:04:56
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > ECRITURE GRAPHIQUE MAIS PROB, AIDE SVP

ECRITURE GRAPHIQUE MAIS PROB, AIDE SVP


 Information sur la source

Note :
Aucune note
Catégorie :Graphique Niveau :Débutant Date de création :02/10/2002 Date de mise à jour :02/10/2002 18:55:12 Vu / téléchargé :2 133 / 151

Auteur : MasterNKZ

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Salut tout le monde
Voila j'essaie de faire un ptit prog qui dessine ce ke vous tapez sur un paintbox mais avec un style particulier c'est a dire style écran LCD d'autoradio. J'y suis parfaitement arrivé, c po trop dur mais j'ai des ptit prob
-je dessine et calcule mon image(contenue dans paintbox) a partir du canvas d'un label (qui recoit ce ke vous tapez)
,juske la pas de prob mais des que je rend invisible ce label je peux plus dessiner, si vous avez une soluce
-des ke je reduie la fiche et la remet bin ya plus d'image, c assez chiant , pareil kan je la deplace un peu en dehors du bureau ya une partie de l'image qui s'efface, si vous avez une soluce ca serait cool

Bon bin voila tester le aidez moi svp, le source n'est pas gros du tout.



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture COUPEUR DE FICHIERS
Source avec Zip Source avec une capture COMPTEUR INTERNET

 Sources de la même categorie

Source avec Zip Source avec une capture EFFET VITRE ET THUMBNAILS SOUS VISTA par Bacterius
Source avec Zip Source avec une capture ANAGLYPHEUR OU COMMENT VOIR EN RELIEF LES STÉRÉOSCOPES ANCES... par jfs59
Source avec Zip Source avec une capture DÉFORMER UNE IMAGE AUX DIMENSIONS D'UN QUADRANGLE QUELCONQUE... par FFCAST
Source avec Zip Source avec une capture THREAD ET BITMAP (DESSIN AU CRAYON) par barbichette
Source avec Zip Source avec une capture ÉCRAN DE VEILLE FEU D'ARTIFICE par barbichette

Commentaires et avis

Commentaire de Bestiol le 02/10/2002 20:16:10

Pour le fait que ça s'efface, utilise plutôt un TImage... En effet, ce composant préserve automatiquement le contenu de son canvas !!!

Bonne prog' !

Commentaire de Nono40 le 02/10/2002 22:40:32

Bestiol à raison, pour ne pas perdre le contenu, il est préférable d'utiliser un TImage plutôt qu'un TPaintBox. J'ai modifié ton programme pour qu'il fonctionne comme tu le souhaites, voici ce qu'il faut faire :

*** Sur la fiche à la conception :
Supprime PaintBox1 et Label1
Met Image2 en avant plan avec
  Image2.AutoSize à False
  Image2.Transparent à True
  Image2 à la même taille que Image1
Ajoute un Image3 sur la fiche dont
  Image3.Visible à False
Supprime le Edit1.OnKeyPressed

*** Dans le source il ne doit rester que ceci :
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    procedure Edit1Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;
implementation

{$R *.dfm}

procedure TForm1.Edit1Change(Sender: TObject);
var i,j: integer;
begin
  Image3.Canvas.Rectangle(Image3.ClientRect);
  Image3.Canvas.Font.Color := clRed;
  Image3.Canvas.TextOut(0,0,Edit1.Text);
  for j:=0 to Image3.Height do for i:=0 to Image3.Width  do
    if (Image3.Canvas.Pixels[i,j])=clRed
      then Image2.Canvas.Pixels[1+2*i,1+2*j]:=$00FFA953
      else Image2.Canvas.Pixels[1+2*i,1+2*j]:=clWhite;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Image3.Width  :=Image2.Width Div 2;
  Image3.Height :=Image2.Height Div 2;
  Image3.Canvas.Brush.Color:=clWhite;
end;

end.


*** Principe
On dessine le texte dans Image3 en rouge sur fond blanc. Puis Image3 est copié dans image2 pixel par pixel en modifiant le rouge en la couleur voulue. Les autres points de Image3 sont copiés en Blanc. Comme Image2 est transparente avec le blanc comme couleur de transparence ( c'est la couleur par défaut ), alors seuls les points de ton afficheur LCD sont visible. L'utilisation des TImage permet de conserver le dessin même si la fenêtre est masquée. De plus le texte entier est pris en compte, donc même si tu réduis le texte dans Edit1, les caractères effacés sont biens supprimés de l'affichage...


Par contre l'utilisation de Pixels[] est très, très lente... Si tu souhaites optimiser le code il ne faut pas l'utiliser. Dans le cas de TImage avec des Bitmap en 24 bits par point, il est possible d'optimiser le code en utilisant la propriété ScanLines[] des bitmaps.

Si tu veux le source par mail, laisse moi un message avec ton adresse...

Nono.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

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,796 sec (4)

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