Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Faire un assemblage d'images [ Multimédia / Image et Vidéo ] (Siteauludo)

lundi 2 octobre 2006 à 20:38:36 | Faire un assemblage d'images

Siteauludo


Bonjour,

J'aimerai faire, en fait, une sorte de logiciel qui remplace une chaîne de caractères par une "chaîne d'images", soit une suite d'images.

par exemple, la chaîne de caractères :
abeoc

deviendrait :
[img1][img2][img3][img4][img5]

Pour cela je pourrais utiliser un richtextbox, mais, bien sûr, il y a un détail :

Je dois pouvoir décaler individuellement les images vers le haut ou le bas.

Par exemple, faire en sorte que [img2] soit 2 pixels plus haut que [img1], et que [img3] soit 2.3 pixels plus bas que [img2], etc...

Une idée d'un contrôle qui ferait ça ?

Au pire, je peux toujours mettre des tas de imageBox (je suis plus sûr du nom, le contrôle qui affiche une image), et faire un screen du tout, mais se serait incroyablement gourmand en ressource (mes chaînes de caractères pouvant être très longues...)

Un idée géniale ?

Merci d'avance, Siteauludo

lundi 2 octobre 2006 à 20:40:10 | Re : Faire un assemblage d'images

Siteauludo

Précision :

"Au pire, je peux toujours mettre des tas de imageBox "

ça veut dire que je pourrait faire une form spéciale qui ferait que de me générer des imageBox (!), une pour chaque image, et me les places individuellement sur elle-même (sur la form donc).


mardi 3 octobre 2006 à 10:02:01 | Re : Faire un assemblage d'images

Lutinore

Administrateur CodeS-SourceS
Réponse acceptée !

Salut, je ne suis pas sûr de bien visualiser ce que tu veux..  Plutôt que d'utiliser plusieurs PictureBox créer une classe "Sprite" par exemple, qui contient l'image et sa position et dessine directement sur la forme ou le contrôle.


public struct Sprite
{
    private Bitmap bmp;
    private Color mask;
    private Rectangle bounds;

    public Rectangle Bounds { get { return bounds; } }

    public Sprite( Bitmap bmp, Rectangle bounds )
    {
        this.bmp = bmp;
        this.bounds = bounds;
        this.mask = bmp.GetPixel( 0, 0 );
    }

    public void Draw( Graphics g )
    {
        if ( bmp != null )
            g.DrawImage( bmp, bounds );
    }

    public bool Hit( int x, int y )
    {
        if ( bounds.Contains( x, y ) )
        {
            x = x - bounds.X;
            y = y - bounds.Y;
           
            if ( bmp.GetPixel( x, y ) != mask )
                return true;
        }
       
        return false;
    }
}


mardi 3 octobre 2006 à 17:44:25 | Re : Faire un assemblage d'images

Siteauludo

Merci, ceci me sera fort pratique

Si j'ai bien compris, ça me placera une image bmp dans ma forme.

Par contre je ne comprends pas super bien le deuxième paramètres :

public Sprite( Bitmap bmp, Rectangle bounds )

C'est quoi ce Rectangle bounds ?

Merci

mardi 3 octobre 2006 à 17:49:48 | Re : Faire un assemblage d'images
mercredi 4 octobre 2006 à 07:24:15 | Re : Faire un assemblage d'images

Lutinore

Administrateur CodeS-SourceS
Réponse acceptée !

Bounds contient la position du sprite en coordonnées client de la forme ainsi que ça taille, ça permet de dessiner le sprite et aussi de passer la position de la souris à la methode Hit pour savoir si la souris se trouve sur le sprite tout en tenant compte d'une couleur invisible via la variable mask ( un fond vert par exemple ).

Un exemple pour utiliser cette structure :

public sealed class MainForm : Form
{
    private List< Sprite > sprites = new List< Sprite >( );

    public MainForm( ) : base( )
    {
        this.SetStyle
        (
            ControlStyles.UserPaint |
            ControlStyles.DoubleBuffer |
            ControlStyles.AllPaintingInWmPaint,
            true
        );
       
        sprites.Add( new Sprite( new Bitmap( "image1.bmp" ), new Rectangle( 0, 0, 64, 64 ) ) );
        sprites.Add( new Sprite( new Bitmap( "image2.bmp" ), new Rectangle( 100, 100, 64, 64 ) ) );
    }

    protected override void OnMouseDown( MouseEventArgs e )
    {
        //base.OnMouseDown( e );

        if ( e.Button == MouseButtons.Left )
        {
            foreach( Sprite s in sprites )
            {
                if ( s.Hit( e.X, e.Y ) )
                    MessageBox.Show( "Hit !" );
            }
        }
    }

    protected override void OnPaint( PaintEventArgs e )
    {
        //base.OnPaint( e );

        Graphics g = e.Graphics;

        foreach( Sprite s in sprites )
            s.Draw( g );
    }

    [ STAThread ]
    private static void Main( )
    {
        Application.EnableVisualStyles( );
        Application.Run( new MainForm( ) );
    }
}


mercredi 4 octobre 2006 à 14:43:06 | Re : Faire un assemblage d'images


Cette discussion est classé dans : images, caractères, chaîne, assemblage, img2


Répondre à ce message

Sujets en rapport avec ce message

Insertion dans un fichier texte [ par 4rocky4 ] Bonjour tout le monde,Dans mon fichier, je voudrai ajouter une chaîne de caractères juste après une chaîne recherchée.Exemple :aaaaaaaabbbbbbbje voudr Reconnaissance d'image [ par Gendal67 ] Bonsoir à tous, Dans le cadre d'un développement, je suis confronté à un problème que je peine à résoudre. Puisse un expérimenté se pencher sur mon c Publication site asp.net [ par abaudouin84 ] Bonjour,Une petite question sur la publication d'un site asp.net sous Visual Studio 2008Dans mon projet, j'ai un répertoire \Images dans lequel j'ai u [WPF] Mettre des images dans un treeview [ par Spixy ] Bonjour à tous !Voilà, en créant ma propre classe de ImageTreeViewItem qui hérite de TreeViewItem, j'ai réussi à faire que chaque "branche" de mon arb Gestion d'image [ par CBR900rry ] Bonjour,Je suis occupé de coder un logiciel de gestion sportive.Dans ce logiciel, il y a un partie explicative avec un grand nombre d'image..Lors du t annotation des images en c# [ par baby85 ] salut,j'ai besoin d'annoter des icones se trouvant sur une image, ses annotations doivent inclure la position de l'icone(x,y)ainsi que d'autres inform des images défilantes sur SQL SERVER avec C# [ par isims101 ] Salut ,Je veux insérer dans un site web un bloc contenant des images défilantes issus d'une base de données SQL SERVER,pouvez -vous m'aidez ?Merci d'a Byte to string avec des caractères de 2 octets [ par damien123456789 ] Bonjour,J'ai un pb lors d'une conversion d'un tableau de bytes en string.Le tableau de bytes représente une chaine de caractères dans un fichier prove Fonction pour compter le nombre de caractere d'une string [ par babaOrhumette ] Salut,Je suis à la recherche d'une fonction (la plus simple possible) permettant de compter le nombre de caractères contenu dans un(e) string. Et si p imprimer plusieurs images sur une seule page [ par Spank76 ] Bonjour, Dans mon programme, je crée plusieurs images bitmap stockées dans des pictureBox.J'arrive à les imprimer en en mettant une par page mais j'ai


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.