begin process at 2012 02 07 07:40:31
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > FONDU ENTRE 2 BITMAP(TUTO SCANLINE)

FONDU ENTRE 2 BITMAP(TUTO SCANLINE)


 Information sur la source

Note :
Aucune note
Catégorie :Graphique Niveau :Débutant Date de création :11/12/2002 Date de mise à jour :11/12/2002 22:47:25 Vu / téléchargé :4 324 / 335

Auteur : balgrim

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

 Description

Bon voila g "tenter" d'expliquer la fonction scanline paske g bcp de gens qui mon demander comment j'ai fait pour mon moteur 3DIso (voir www.dragonsoul.fr.st)
Bon g aussi tenter d'expliquer par la meme occase les pointeurs, mais c pas gagné, on se fous pas de moi...


 Conclusion

L'image 1 doit etre plus grand ou egale a l'image 2, sinon on peut facilement faire que sa marche a tout les coups avec 2 block if...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   Tutoscanline
    • Project2.cfgTélécharger ce fichier [Réservé aux membres club]Voir ce fichier386 octets
    • Project2.dofTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 402 octets
    • Project2.dprTélécharger ce fichier [Réservé aux membres club]Voir ce fichier188 octets
    • Project2.resTélécharger ce fichier [Réservé aux membres club]876 octets
    • Unit1.~ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • Unit1.~dfmTélécharger ce fichier [Réservé aux membres club]281 696 octets
    • Unit1.~pasTélécharger ce fichier [Réservé aux membres club]4 815 octets
    • Unit1.dcuTélécharger ce fichier [Réservé aux membres club]4 840 octets
    • Unit1.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • Unit1.dfmTélécharger ce fichier [Réservé aux membres club]281 696 octets
    • Unit1.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 815 octets

Télécharger le zip


 Sources du même auteur

CALCULER UNE OPERATION PRESENTE DANS UNE STRING (GESTION DES...
Source avec Zip MOTEUR 2D (VERSION FINALISÉE)
DROLE DE TRUC (JL'AI PAS FAIT EXPRÉS!!!)
RANGEMENT D'UN TABLEAU DYNAMIQUE
Source avec Zip MOTEUR 2D (EN GROS)

 Sources de la même categorie

Source avec Zip Source avec une capture RAYTRACING EN DELPHI (PROGRESSIVE PATH TRACING) par Bacterius
Source avec Zip Source avec une capture TEXTE SUR COURBE DE BEZIER par pseudo3
Source avec Zip Source avec une capture YEUXROUGES par pseudo3
Source avec Zip Source avec une capture FIREMONKEY : PATHDATA ET FORMAT SVG par Christophe67
Source avec Zip Source avec une capture FIREMONKEY : ROTATION CUBE par Christophe67

Commentaires et avis

Commentaire de balgrim le 15/12/2002 00:18:10

version optimizé (sans virgule flottante...):

function semitrans(Bmp1,Bmp2:TBitmap;nivo:byte):TBitmap;
var
ATB,ATB2,ATB3:pRGBTripleArray;I,J:integer;
Lvl,invLvl:integer;
begin
//on creer les classes...
result:=TBitmap.Create;
bmp1.PixelFormat:=pf24bit; //format 3byte (rgb). cela permet de synchroniser avec le pTATripleByte;
bmp2.PixelFormat:=pf24bit;
result.PixelFormat:=pf24bit;

result.Height:=bmp1.Height;
result.width:=bmp1.width;

//le niveau sur une echelle de 0 a 1:
lvl := nivo ;
invLvl:= 255-lvl;//sont inverse sur la meme echelle tels que lvl+invlvl=1;


for I:=0 to bmp1.Height-1 do begin
//on fait pointer les tableau de TripleBytes sur la ligne I
ATB:=bmp1.ScanLine[I];
ATB2:=bmp2.ScanLine[I];
ATB3:=result.ScanLine[I];
  for J:=0 to bmp1.Width-1 do begin
  (*
  Pour faire la semitransparenc il suffit d'appliquer les regle de
  proportionnalité tels que c = ka + (1-k)b  dans un intervalle pour k[0;1].

  ainsi 0<=k<=1 et donc si k = 0 alors c=b et si k = 1 alors c=a.
  On fait sa pour les 3 couleurs:
  *)
  ATB3[J].rgbtRed:=byte((invlvl*(ATB[J].rgbtRed-ATB2[J].rgbtRed))shr 8 +ATB2[J].rgbtRed);
  ATB3[J].rgbtGreen:=byte((invlvl*(ATB[J].rgbtGreen-ATB2[J].rgbtGreen))shr 8 +ATB2[J].rgbtGreen);
  ATB3[J].rgbtBlue:=byte((invlvl*(ATB[J].rgbtBlue-ATB2[J].rgbtBlue))shr 8 +ATB2[J].rgbtBlue);
  end;
end;

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

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

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