IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Pascal Discussion :

Idée sur BitmapData


Sujet :

Flash Pascal

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Par défaut Idée sur BitmapData
    Ci-joint sur le thème du getpixel, une autre variante qui va me servir pour illustrer la correction d'un exercice sur la numérisation de l'information :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
     
    program numerisation_de_l_information;
     
    uses
      Flash8,URealmovie;
     
    {$FRAME_WIDTH   500}
    {$FRAME_HEIGHT  550}
    {$FRAME_RATE 32}
    {$BACKGROUND $dcdcdc}
     
     const frame_width=500;
           frame_height=550;
    Type
     Smiley=class(Realmovie)
      mybmp : BitmapData;
      Field:TextField;
      Font:TextFormat;
      constructor create;
      procedure onMouseMove;
      procedure draw;
     end;
     
    Function GetBvalue(coul:integer):integer;
    begin
     result :=coul Mod 256;
    end;
     
    Function GetGvalue(coul:integer):integer;
    begin
     result :=floor((Coul Mod 65536)/256);
    end;
     
    Function GetRvalue(coul:integer):integer;
    begin
     result :=Floor(Coul/65536);
    end;
     
     constructor Smiley.Create;
     begin
      inherited create(nil,'schema',1);
      setsize(frame_width,frame_height,0,0,10,11);
      draw;
      mybmp := BitmapData.Create(frame_width+1,frame_height+1); //obligé de le dimensionner avec un pixel supplémentaire pour voir toutes les lignes ?
      mybmp.draw(self);//On remplit le bitmap avec le contenu de smiley
      clear;//pour éviter deux couches de dessin une dans le movie et l'autre dans le bmp
      attachBitmap(mybmp,0,'',false);
      Font:=TextFormat.Create( 'Arial',16,$000000,True,False,False,'center');
      field:=TextField.Create(self,'codeRGB',1,0,0,200,40);
      Field.setNewTextFormat(Font);
     end;
     
    Procedure Smiley.onMouseMove;
    var R,V,B:integer;
        rgb:number;
    begin
     rgb:=mybmp.GetPixel(_xmouse,_ymouse);
     R:=GetRValue(floor(rgb));
     V:=GetGValue(floor(rgb));
     B:=GetBValue(floor(rgb));
     Field.text:='( '+inttostr(R)+' , '+inttostr(V)+' , '+inttostr(B)+' )';
     Field._x:=_xmouse-60;  //avec modif de TextField _x et_y en number !
     Field._y:=_ymouse-40;
    end;
     
    procedure Smiley.draw;
    var i:integer;
    begin
     beginFill($ffff00);
     Rrectangle(3,1,7,2);
     Rrectangle(1,3,2,8);
     Rrectangle(8,3,9,8);
     Rrectangle(3,9,7,10);
     RRectangle(2,2,3,3);
     RRectangle(2,8,3,9);
     RRectangle(7,2,8,3);
     RRectangle(7,8,8,9);
     EndFill();
     beginFill($000000);
     RRectangle(3,4,4,5);
     RRectangle(4,3,6,4);
     RRectangle(6,4,7,5);
     endFill();
     beginFill($0088FF);
     RRectangle(3,6,4,7);
     RRectangle(6,6,7,7);
     EndFill();
     linestyle(1,$000000);
     for i:=0 to 10 do Rline(i,0,i,11);
     for i:=0 to 11 do  Rline(0,i,10,i);
     linestyle(3,$FF0000);
     RRectangle(6,4,9,7);
    end;
     
    begin
     Smiley.create;
     stage.scaleMode :='noScale'; //on n'est pas en vectoriel...pour éviter les surprises dans le navigateur
    end.
    En fait ma question : comment faire pour réaliser la même chose en vectoriel ?
    Je pensais ne pas remplir mon bitmapdata et utiliser sa propriété transparent pour pouvoir l'incruster sur mon dessin dans le movie ; ce qui me permettrait de récupérer le getpixel et ainsi faire la même chose en restant en vectoriel.
    Est-ce que ça marcherait ?
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Idée sur Login et password
    Par STANDBOY dans le forum Access
    Réponses: 13
    Dernier message: 22/12/2005, 18h10
  2. [Access] Manque d'idées sur une requête
    Par portu dans le forum Langage SQL
    Réponses: 12
    Dernier message: 22/11/2004, 12h25
  3. Problème graveur ide sur mdk10
    Par Hanslip dans le forum Matériel
    Réponses: 40
    Dernier message: 26/10/2004, 13h17
  4. idees sur requete a simplifier ???
    Par DaxTaz dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/07/2004, 09h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo