begin process at 2010 02 10 03:43:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Formulaire / Winforms / Controls

 > 

[urgent projet] déplacer Image dans picturebox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[urgent projet] déplacer Image dans picturebox

samedi 3 mars 2007 à 21:11:34 | [urgent projet] déplacer Image dans picturebox

adrien_de_toulouse

Bonjour, voila je suis sur un projet (sur PDA donc compact framework) et je doit afficher dans une picturebox une carte geographique qui sera plus grande que la picturebox, en sachant que l'entreprise veu un zoom et un déplacement (avec 4 buttons en croix), je sais que le principe est de découper des petit rectangle de l'image de la carte, et de les afficher avec graphics.DrawImage  mais n'arrive toujours par a décaller l'image esque quelqu'un n'aurait pas un exemple ou de l'aide svp ?

merci
dimanche 4 mars 2007 à 02:04:49 | Re : [urgent projet] déplacer Image dans picturebox

Lutinore

Administrateur CodeS-SourceS

Salut, tiens si tu veux un exemple.. mais c'est fait à "l'arrache".




// Certifié ISO 1664
public partial class Form1 : Form
{
    private const int STEP = 32;

    private PictureBox pb = null;
    private Bitmap bmp = null;
    private int x = 0;
    private int y = 0;
    private int width = 250;
    private int height = 250;
    private int maxX = 0;
    private int maxY = 0;
    private bool zoom = false;

    public Form1( )
    {
        InitializeComponent( );

        bmp = new Bitmap( "d:\\image.jpg" );
       
        SetValues( );

        pb = new PictureBox( );
        pb.Location = new Point( 32, 32 );
        pb.Size = new Size( 250, 250 );
        pb.Paint += PictureBox_Paint;

        Button left = new Button( );
        left.Name = "left";
        left.Top = 32;
        left.Size = new Size( 32, 32 );
        left.Click += Buttons_Click;

        Button up = new Button( );
        up.Name = "up";
        up.Left = 32;
        up.Size = new Size( 32, 32 );
        up.Click += Buttons_Click;

        Button right = new Button( );
        right.Name = "right";
        right.Left = 64;
        right.Top = 32;
        right.Size = new Size( 32, 32 );
        right.Click += Buttons_Click;

        Button down = new Button( );
        down.Name = "down";
        down.Left = 32;
        down.Top = 64;
        down.Size = new Size( 32, 32 );
        down.Click += Buttons_Click;

        Button zoom = new Button( );
        zoom.Text = "z";
        zoom.Name = "zoom";
        zoom.Left = 32;
        zoom.Top = 32;
        zoom.Size = new Size( 32, 32 );
        zoom.Click += Buttons_Click;

        Control cross = new Control( );
        cross.Location = new Point( 314, 186 );
        cross.Size = new Size( 96, 96 );
        cross.Controls.AddRange( new Control[ ] { left, up, right, down, zoom } );

        this.ClientSize = new Size( 442, 314 );
        this.FormBorderStyle = FormBorderStyle.FixedSingle;
        this.Controls.AddRange( new Control[ ] { pb, cross } );
    }

    private void Buttons_Click( object sender, EventArgs args )
    {
        switch ( ( ( Button )sender ).Name )
        {
            case "left" :
                x -= STEP; if ( x < 0 ) x = 0;
                break;
            case "up" :
                y -= STEP; if ( y < 0 ) y = 0;
                break;
            case "right" :
                x += STEP; if ( x > maxX ) x = maxX;
                break;
            case "down" :
                y += STEP; if ( y > maxY ) y = maxY;
                break;
            case "zoom" :
                zoom = !zoom;
                SetValues( );
                break;
        }

        pb.Invalidate( pb.ClientRectangle );
    }

    private void SetValues( )
    {
        if ( zoom )
        {
            width = STEP;
            height = STEP;
        }
        else
        {
            width = 250;
            height = 250;
        }

        maxX = ( bmp.Width > width ) ? bmp.Width - width : 0;
        maxY = ( bmp.Height > height ) ? bmp.Height - height : 0;

        if ( x > maxX ) x = maxX;
        if ( y > maxY ) y = maxY;
    }

    private void PictureBox_Paint( object sender, PaintEventArgs args )
    {
        Graphics g = args.Graphics;

        if ( zoom )
             g.InterpolationMode = InterpolationMode.NearestNeighbor;

        g.DrawImage
        (
            bmp,
            new Rectangle( 0, 0, 250, 250 ),
            new Rectangle( x, y, width, height ),
            GraphicsUnit.Pixel
        );

        g.DrawRectangle( Pens.Black, 0, 0, 249, 249 );
    }
}



Cette discussion est classée dans : urgent, projet, image, picturebox, déplacer


Répondre à ce message

Sujets en rapport avec ce message

Déplacer deux picturebox "ensembles" [ par nygles ] Bonjour a tous. je suis actuellement en train de faire un projet en c# pour windows mobile. Je réalise une navigation panoramique sur 360° Pour cela Capture d'un picturebox à sa MAJ "visuelle" [ par GUNNM4575 ] Bonjour à vous,Je dois prendre une photo, avec une webcam, l'image d'un picturebox que je viens de changer.Cela doit être fait le plus rapidement poss URGENT : Projet de déploiement XP64 [ par seb45000 ] Bonjour,J'ai développé un service en C# sur Vista qui tourne bien. Je dois l'installer sur XP64.Et là grosse surprise : j'ai testé la compilation pour Deplacer image dans picturebox [ par olibara ] Bonjour, Je cherche la methode qui me permetrait dans un picturebox d'afficher une portion d'un image plus grande Un espece du double buffering vi Probleme picturebox et Bitmap [ par Stroumi ] Bonjour,je récupèré une image via une camera via la SDK de cette camera.Il s'agit d'un événement, lorsque l'image est prête, elle est envoyée. (il s'a [C#] Déplacer une picturebox (incrémenter x) [ par Stargirlfr ] Bonsoir à tous, J'ai une question toute bête, mais impossible de trouver ma réponse. Je souhaiterais déplacer une picturebox sur une ligne (incrémente Supprimer le fichier d'une image chargée en picturebox... [ par survcopt ] Voila tout est ditJe voudrais utiliser ma picturebox pour afficher une image rafraichit régulièrement .Malheureusement ça marche une fois, mais au pre Comparer une image d'une picturebox [ par karasnake ] Bonjours, je travail actuellement sur mini jeux puissance 4 et je voudrais comparer une image situer dans ma picture box a une autre.je le fais de cet pictureBox bords arrondis [ par ChamY ] Bonjour,J'ai fais pas mal de recherche pour essayer de trouver une réponse à mon probleme (qui me parait pas tres compliqué), mais je n'ai rien trouvé drag and drop d'une image d'un picturebox vers un autre picturebox [ par karasnake ] Bonjour, Je travail actuellement sur une application pour mon bts et je dois faire un drag and drop d'une image d'un picturebox vers une autre pictur


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

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 : 0,546 sec (4)

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