begin process at 2012 02 11 07:16:17
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > PLGBLT ET LA ROTATION DE BITMAPS

PLGBLT ET LA ROTATION DE BITMAPS


 Information sur la source

Note :
Aucune note
Catégorie :Graphique Classé sous :plgblt, bitmap, parallelogramme, rotation Niveau :Initié Date de création :15/04/2009 Date de mise à jour :15/04/2009 13:56:55 Vu / téléchargé :2 678 / 274

Auteur : Bacterius

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

 Description

Cliquez pour voir la capture en taille normale
Bonjour,
il existe déjà une source similaire sur le site (Par Cirec : http://www.delphifr.com/codes/ROTATION-RAPIDE-BITM AP-360-PUR-GDI_45850.aspx), mais j'avais envie de faire la mienne.
Alors rien de très compliqué, au menu, déterminer le centre d'un parallélogramme, bon ..., effectuer une rotation des 4 sommets du parallélogramme autour de son centre, bon ..., et enfin appeller le clou du spectacle, PlgBlt ! Cette fonction (API) permet de copier le contenu d'un bitmap (rectangulaire) dans une zone déterminée par un parallélogramme (en fait, elle ne nous en demande que 3 - ça lui permet d'éviter des erreurs dûes à un mauvais agencement de points, et ça nous simplifie la vie). Pour les calculs cosinus-sinus, j'utilise une table précalculée de sinus/cosinus (ça va quand-même plus vite !) qui stockent tous les cosinus/sinus de chaque angle de 0 à 359 en mémoire. J'ai fait une classe TParallelogramme, pas du tout évoluée, qui convient tout juste aux besoins de l'exemple.
J'inclus deux exemples, mon avatar repêché sur internet (très bon exemple pour la rotation), et une spirale sans fin (également sur internet). Et une capture d'écran pour voir rapidement de quoi il s'agit.
NEW : nouvelle option, effet 3D, qui, avec 2 lignes de code qui modifient un point du parallélogramme, va donner l'impression d'une rotation en 3D dimensions ...
Vous pouvez définir la vitesse de rotation du bitmap. La rotation est assurée par un timer (si vous voulez le thread, mettez un petit "T+" à la fin de votre message, sinon mettez un "T-", je récolte les votes demain soir).

En prime, petite utilisation de ShellExecute avec un hyperlien ;) j'avais pas envie de sortir la détection automatique de navigateur internet ...

N'oubliez pas de jeter un coup d'oeil également à la source de Cirec (cf. lien plus haut) si vous n'y êtes pas encore allé !


 Conclusion

Voilà, tous commentaires, conseils, critiques, remarques, etc ...

Trivialement, Bacterius !

(héhé vous avez tous eu un choc là ^^)

 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


 Historique

15 avril 2009 13:03:57 :
// Ajout des commentaires
15 avril 2009 13:56:55 :
// Ajout d'une option "effet 3D"

 Sources du même auteur

Source avec Zip Source avec une capture RAYTRACING EN DELPHI (PROGRESSIVE PATH TRACING)
Source avec Zip Source avec une capture MOTEUR PHYSIQUE 2D CHIPMUNK.. EN DELPHI!
Source avec Zip Source avec une capture DOWNSAMPLING OU COMMENT BIEN OPTIMISER LE CODE
Source avec Zip Source avec une capture FACTORISATION ET TEST DE PRIMALITÉ 32 BITS ULTRA OPTIMISÉ
Source avec Zip LECTEUR DE FICHIER MULTIMÉDIA RIFF

 Sources de la même categorie

Source avec Zip Source avec une capture LE CERCLE ENCHANTÉ D'ANDRES GÎT EN NOS MÉMOIRES par Caribensila
Source avec Zip Source avec une capture COMPARATIF ALGO CERCLES par barbichette
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

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture LE CERCLE ENCHANTÉ D'ANDRES GÎT EN NOS MÉMOIRES par Caribensila
Source avec Zip Source avec une capture DESKTOPICONFLYING par cantador
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 THREAD ET BITMAP (DESSIN AU CRAYON) par barbichette
Source avec Zip Source avec une capture ROTATION (RAPIDE) DE BITMAP (À 360°) EN PUR GDI par cirec

Commentaires et avis

Commentaire de Bacterius le 15/04/2009 02:58:27

Codé sous Delphi 6 Personal Edition.

Cordialement, Bacterius !

Commentaire de Caribensila le 15/04/2009 15:22:21

URGENT!

T'as rien prévu pour réveiller un mec hypnotisé par la spirale à vitesse = 5 ?

Commentaire de Bacterius le 15/04/2009 16:48:13

Hmm ...
je propose un plantage brutal de Windows avec écran bleu et beaucoup de texte blanc ...
Ou bien un beep comme celles des fusées (les bips qui passent par toutes les tonalités possibles pour réveiller un homme inconscient). Je crois que c'est faisable ...

Cordialement, Bacterius !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Procédure de rotation d'un bitmap ne fonctionne pas dans un composant [ par informatixo ] Bonsoir le forum,Je me suis inspiré du code de Cirec disponible à cette adresse http://www.delphifr.com/codes/ROTATION-RAPIDE-BITMA Icône associé à un composant dans la palette d'outils [ par informatixo ] Bonjour le forum,J'ai une question à propos de l'icône qui peut être associé à un composant lorsqu'il est dans la palette d'outils.L'aide de Delphi di Enregistrer un TObjectList sur un fichier ? [ par Bacterius ] Bonjour, alors voilà mon problème : pour Noël, je voudrais offrir à mon père un logiciel. Alors ce logiciel est supposé gérer une liste de guitares, a Enregistrement d'un bitmap parmi d'autres variables dans un fichier [ par Bacterius ] Bonjour,voici mon problème - il est lié au problème du TObjectList - en fait, je voudrais pouvoir, dans un record, enregistrer dans un fichier un bitm texture en fond de form depuis un fichier res [ par gebu34 ] Bonjour à tous,Je voudrais mettre des textures sur mes Forms, pour améliorer la présentation.J'ai une méthode qui fonctionne bien pour la fenêtre prin CopyRect [ par Nicolas___ ] Bonjour à tout le monde , ben voila , j'ai une colle : J'utilise CopyRect pour coller une partie d'une image(Bitmap) dans un canvas(Form ou n'importe AlphaBlend , TransparentColor & Co [ par Nicolas___ ] Bonjour , encore moi ;) Voila, j'ai encore un problème : Cirec m'a fait Découvert il y a quelque temps TransparentBlt (http://www.delphifr.com/forum/s Problème affectation dynamique ImageList à un ComboBoxEx.Images [ par informatixo ] Bonsoir le forum,J'ai un problème avec le composant ComboBoxEx et plus particulièrement avec sa propriété Images.J'ai créé une procédure qui permet de zoom in/out en c++.net [ par mounanedra ] bonjour, svp qui me l'aide pour faire un code zoom in/out en c++.net [^^sad2] voici mon premiére essai: // zoom.cpp : Defines the entry point for th Rotation PDF [ par tonton2 ] Bonjour a tous Quelqu'un connait-il la ligne de commande pour faire une rotation d'un fichier PDF avec AcroPDFLib_TLB J'arrive bien a ouvrir un PDF


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 : 1,061 sec (3)

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