animacja zdjęć

0

Czy ktos moze mi doradzic jak zrobic animacje zdjęc..- obrót 0-360 st ale 2 zdjęc przezroczystych *.gif na Form gdzie mamy jako tlo tez zdjecie..

  1. Zdjecie zachodzą na siebie
  2. tlo pod spodem ma byc zawse widoczne

robiklem za pomocą Grapgics g
... g.DrawImage(plik.gif)
ale nie moge osiagnac efektu...

0

Czyli chcesz wyświetlić na formie 3 zdjęcia. Jedno jest tłem a dwa się obracają. Na przykład wokół swego środka. Tak ?

0

Dokładnie tak.. z tym ze to z tłem (nieruchome) moze byc umieszczone za pomocą pictureBox lub jako tło Formy lub Panel

Ciekawe czy istnieje jakis rozsadny sposób aby to zrobić hmmm

0

No pewnie że istnieje. Poczytaj o obracaniu obrazów oraz jak wyświetlić obrazy półprzezroczyste. Znajdziesz tysiące przykładów. Oto malutki przykład. Powinien Cie naprowadzić:

        private Image _backgroundImage;
        private Image _rotateImage;
        private readonly float[][] ptsArray =
        {
            new float[] {1, 0, 0, 0, 0},
            new float[] {0, 1, 0, 0, 0},
            new float[] {0, 0, 1, 0, 0},
            new float[] {0, 0, 0, 0.5f, 0},
            new float[] {0, 0, 0, 0, 1}
        };
        ColorMatrix _colorMatrix;
        ImageAttributes _imageAttributes;
        float _angle = 0;

        public Form2()
        {
            InitializeComponent();
            SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.Opaque, true);
            
            _colorMatrix = new ColorMatrix(ptsArray);
            _imageAttributes = new ImageAttributes();
            _imageAttributes.SetColorMatrix(_colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
            _backgroundImage = new Bitmap(@"C:\images.jpg");
            _rotateImage = new Bitmap(@"C:\images1.jpg");
        }

        private void Form2_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.DrawImage(_backgroundImage, 0, 0, Width, Height);
            Matrix matrix = new Matrix(); 
            matrix.RotateAt(_angle++, new PointF(Width / 2.0f, Height / 2.0f));
            e.Graphics.Transform = matrix;
            e.Graphics.DrawImage(_rotateImage,
                new Rectangle(Width / 2 - _rotateImage.Width / 2, Height / 2 - _rotateImage.Height / 2, _rotateImage.Width, _rotateImage.Height),
                0, 0, _backgroundImage.Width, _backgroundImage.Height, GraphicsUnit.Pixel, _imageAttributes);
        }
0

WIELKIE DZIEKI.. chyba z 2 tyg bede mial zaoszczedzone pracy.. ja tezx robilem za pomocą g.drawImage ale punkty (3rogi ) zdjecia wyznaczalem sam na sztywno z zaleznośc i trygonometryczntych... no i efekt byl taki ze bez efektu... taskiego rozwiazania nie widzialem i Dzieki jesczse raz za toooo :):):)

1 użytkowników online, w tym zalogowanych: 0, gości: 1