none
Transformace velikosti regionu

    Dotaz

  • Ahoj, snažím se změnit velikost regionu pictureboxu o nějaký koeficient tj. např. 2x zoom apod. Region však vůbec nereaguje a mě došli nápady... Mohli bysme mi pls helpnout. Díky za reakce

    dosavadni kod: 

                    PictureBox pic = obrazek;

                    Matrix mx = new Matrix();
                    mx.Scale(20, 20);
                    mx.RotateAt(100, new PointF(pic.Left, pic.Top));
                    pic.Region.Transform(mx);
               
                    pic.Refresh();
    středa 3. září 2008 16:17

Odpovědi

  • Zdravim, pokud chcete zobrazit bitmapu zvetsenou, 20x vetsi Region Vam nepomuze. 

    Kazdopadne problem bude v tom, ze picture box nezaznamena zmeny provedene na regionu pote, co je mu prirazen. Vas priklad by tudiz musel vypadat takto:

    private void button2_Click(object sender, EventArgs e)

    {

    var m = new Matrix();

    m.Scale(1.3f, 1.3f);

    m.RotateAt(59, new PointF(60, 200));

     

    var p = new GraphicsPath();

    p.AddRectangle(new Rectangle(10, 30, 100, 400));

    var r = new Region(p);

    r.Transform(m);

    pictureBox1.Region = r;

    }

    čtvrtek 4. září 2008 12:33
    Přispěvatel