Avatar
Josef Kuchař (Pepa489):22.11.2013 18:10

Vykresluju na Picturebox slunce a nejde mmi dát na střed vůbec nevím kde dělám chybu:

slunce = new Bitmap("Slunce.png");
slunce.SetResolution(250, 250);
poziceslunce = new Point((pictureBox1.Width2(slunce.Width/2),pictureBox1.Height / 2) - (slunce.Height / 2));
g.DrawImage(slunce, poziceslunce);
Editováno 22.11.2013 18:11
Odpovědět 22.11.2013 18:10
2x piš, jednou debuguj
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Josef Kuchař (Pepa489)
David Čápka:22.11.2013 18:19

Proč načítáš bitmapu znovu a znovu při každém překreslení? K tomu je konstruktor. Nevím, co tam vyvádíš s těmi délkami, ale má to být takhle:

new Point((pictureBox1.Width / 2 - slunce.Width / 2, pictureBox1.Height / 2) - (slunce.Height / 2))

Když chceš dát něco do středu, musíš vzít souřadnici středu a odečíst od ní polovinu velikosti objektu.

Nahoru Odpovědět 22.11.2013 18:19
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na David Čápka
Josef Kuchař (Pepa489):22.11.2013 18:23

Nevím, protože mě to hází chybu.

Editováno 22.11.2013 18:23
Nahoru Odpovědět 22.11.2013 18:23
2x piš, jednou debuguj
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Josef Kuchař (Pepa489)
David Čápka:22.11.2013 18:29

Jsem od tebe zkopíroval ty závorky a pak je už nesmazal, nech tam jen ty okolo metody.

Nahoru Odpovědět 22.11.2013 18:29
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na David Čápka
Josef Kuchař (Pepa489):22.11.2013 18:43

Už jsem to udělal a další problém:

Nahoru Odpovědět 22.11.2013 18:43
2x piš, jednou debuguj
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Josef Kuchař (Pepa489)
Petr Nymsa:22.11.2013 18:46

Má PcitureBox velikost = velikosti okna ?

Nahoru Odpovědět 22.11.2013 18:46
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Nahoru Odpovědět 22.11.2013 18:48
2x piš, jednou debuguj
Avatar
Odpovídá na Josef Kuchař (Pepa489)
Michal Žůrek (misaz):22.11.2013 18:52

dej pictureboxu jinou barvu pozadí než formulář.

Nahoru Odpovědět 22.11.2013 18:52
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na Michal Žůrek (misaz)
Josef Kuchař (Pepa489):22.11.2013 18:59

Barva pictureboxu je černá a formulář je roztažený na celou obrazovku a má nastevené všechny kotvy.

Nahoru Odpovědět 22.11.2013 18:59
2x piš, jednou debuguj
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Josef Kuchař (Pepa489)
Petr Nymsa:22.11.2013 19:02

Ukaž aktuální kód

Nahoru Odpovědět 22.11.2013 19:02
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Josef Kuchař (Pepa489):22.11.2013 19:06
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace EarthSimulation
{
    public partial class Form1 : Form
    {
        private Bitmap slunce;
        private Point stred;
        private Point poziceslunce;
        public Form1()
        {
            InitializeComponent();
        }

        public void Vykresli(Graphics g)
        {
            slunce = new Bitmap("Slunce.png");
            slunce.SetResolution(250, 250);
            stred = new Point(pictureBox1.Width / 2, pictureBox1.Height / 2);
            poziceslunce = new Point(pictureBox1.Width / 2 - slunce.Width / 2, pictureBox1.Height / 2 - slunce.Height / 2);
            g.DrawImage(slunce, poziceslunce);
        }

        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            Vykresli(e.Graphics);
        }
    }
}
Nahoru Odpovědět 22.11.2013 19:06
2x piš, jednou debuguj
Avatar
Odpovídá na Josef Kuchař (Pepa489)
Jakub Lásko[Saarix]:22.11.2013 20:02

Na první pohled to vypadá dobře, jen ale nechápu přoc tam máš tento kus kódu, když ho dále nikde nepoužíváš.

stred = new Point(pictureBox1.Width / 2, pictureBox1.Height / 2);

Možná bych být tebou dal na to místo určení středu break point a mrknul se jaké delky které proměnné nabývají a zda je vše v pořádku. Pak se dá říct kde hledat problém.

Editováno 22.11.2013 20:03
Nahoru Odpovědět 22.11.2013 20:02
Časem je vše možné.
Avatar
Odpovídá na Jakub Lásko[Saarix]
Josef Kuchař (Pepa489):22.11.2013 20:04

To je tam pro další práci.

Nahoru Odpovědět 22.11.2013 20:04
2x piš, jednou debuguj
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.