eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingbledy na fixedpointach (drawline)bledy na fixedpointach (drawline)
  • X-Received: by 10.140.50.83 with SMTP id r77mr198875qga.15.1395857910907; Wed, 26 Mar
    2014 11:18:30 -0700 (PDT)
    X-Received: by 10.140.50.83 with SMTP id r77mr198875qga.15.1395857910907; Wed, 26 Mar
    2014 11:18:30 -0700 (PDT)
    Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!news.unit0.net!news.glorb.com!ur14no14315504igb.0!news-out
    .google.com!bw18ni23786qab.1!nntp.google.com!w5no8926364qac.0!postnews.google.c
    om!glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Wed, 26 Mar 2014 11:18:30 -0700 (PDT)
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=93.154.165.14;
    posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN
    NNTP-Posting-Host: 93.154.165.14
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <4...@g...com>
    Subject: bledy na fixedpointach (drawline)
    From: firr <p...@g...com>
    Injection-Date: Wed, 26 Mar 2014 18:18:30 +0000
    Content-Type: text/plain; charset=ISO-8859-1
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:205397
    [ ukryj nagłówki ]

    kiedys z lenistwa poniewaz nei chialo mi sie
    wpisywac algorytmu bressenhama (vo to wymagalo
    lookiniecia do google itp)

    i napisalem taka procedure na fixedpointach

    void DrawLineUnsafe(int xs, int ys, int xk, int yk, unsigned color)
    {

    int abs_width = abs(xk-xs);
    int abs_height = abs(yk-ys);

    int how_many_pixels = max(abs_width, abs_height);

    SetPixel(xs, ys, color);

    if(how_many_pixels==0) return;

    int x = xs<<16;
    int y = ys<<16;

    int dx = ((xk-xs)<<16)/how_many_pixels;
    int dy = ((yk-ys)<<16)/how_many_pixels;


    for(int i=0; i<how_many_pixels; i++)
    {
    x += dx ;
    y += dy ;

    SetPixel(x>>16, y>>16, color);

    //setpixel is inline routine bitmap[y*width+x]=color

    }
    }

    onba niby dziala, nie wiem o ile tez jest wolniejsza
    od bressenhama tylko martwi mnie problem bledu

    niby jest ona przeznaczona do rysowania lini zna 16bitowym zakresie, (x,y od 0 do
    65535 czy cos w tym stylu ) ale czy jest ona w tym zakresie (na bitmapie do 65tys
    pixeli) bezbledna (w stosunku do bressenhama) czy tez sa jakies bledy i odchylki dla
    jakichs przypadkow - i jak to obliczyc?

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

  • 27.03.14 11:18 firr

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: