begin process at 2010 02 10 11:34:40
  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é :1 234 / 183

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 UNITÉ DE SUPPORT VISTA
Source avec Zip Source avec une capture GESTION DES "CRASHS D'APPLICATION"
Source avec Zip Source avec une capture CONJECTURE DU CARRÉ DES FACTEURS
Source avec Zip Source avec une capture EFFET VITRE ET THUMBNAILS SOUS VISTA
Source avec Zip Source avec une capture UTILISER UNE DLL INCLUSE EN RESSOURCES

 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

 Sources en rapport avec celle ci

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 PRÉ-COMPOSANT D'AFFICHAGE DE TEXTE PROGRESSIF... par blueperfect
Source avec Zip Source avec une capture BONNE ANNEE ! par cantador
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 dessin sur un bitmap [ par jlg75 ] J'ai commencé un petit prog de dessin pour mes débuts en DELPHI.Je dessine sur un bitmap (feuille blanche pour l'instant),chargé dans une TImage. J'ut


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

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