Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.iso-c++ > #2021

Re: Selbstgestrickter Floyd-Steinberg-Filter sieht seltsam aus...

From Jörg "Yadgar" Bleimann <yazdegird@gmx.de>
Newsgroups de.comp.lang.iso-c++
Subject Re: Selbstgestrickter Floyd-Steinberg-Filter sieht seltsam aus...
Date 2017-02-12 20:34 +0100
Organization albasani.net
Message-ID <o7qdd5$ccr$1@news.albasani.net> (permalink)
References <o7n4v0$emd$1@news.albasani.net> <o7pf7i.4f8.1@stefan.msgid.phost.de>

Show all headers | View raw


Hi(gh)!

Am 12.02.2017 um 11:00 schrieb Stefan Reuther:
> Am 11.02.2017 um 14:52 schrieb Jörg "Yadgar" Bleimann:

> Das war jetzt ziemlich viel Code, aber ein entscheidender Teil fehlt:
> wie ist denn die rgb-Klasse definiert?

rgb ist keine Klasse, sondern eine (globale) structure:

struct rgb // global!
{
   int red;
   int green;
   int blue;
};

>
> Da "meine" RGB-Klassen eigentlich immer uint8_t-Member haben, vermute
> ich in dem oben zitierten Code sowas wie unsigned-Überläufe.

Du meinst wahrscheinlich die "pixel"-Klasse... dort habe ich tatsächlich 
unsigned char-Elemente verwendet, um Speicherplatz zu sparen:

class pixel
{
   public:
     pixel(); // Standard-Konstruktor
     pixel (int, int, int); // Allgemeiner Konstruktor
     ~pixel(); // Destruktor
     void set_all(int, int, int);
     void set_all(unsigned char, unsigned char, unsigned char);
     void set_red(int);
     void set_red(unsigned char);
     void set_green(int);
     void set_green(unsigned char);
     void set_blue(int);
     void set_blue(unsigned char);
     // void get_all(rgb&);
     void get_all(rgb&);
     unsigned char get_red();
     unsigned char get_green();
     unsigned char get_blue();
     void invert();
     void rgb2grey();
     void rgb2grey(float, float, float);
     float getvalue();
   private:
     unsigned char r;
     unsigned char g;
     unsigned char b;
     unsigned char round(float);
};

Hätte ich besser short int genommen?


> Ansonsten: kleines Bild (3x3?) nehmen, Code großräumig verprinten und

Großräumig verprinten? Also an möglichst vielen Stellen 
Kontroll-Ausgaben einfügen?

> per Hand nachrechnen. Debuggen halt... Und nicht vergessen, das Ergebnis
> hinterher als Unittest abzuspeichern :)

Das leuchtet ein...

Bis bald im Khyberspace!

Yadgar

Back to de.comp.lang.iso-c++ | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Selbstgestrickter Floyd-Steinberg-Filter sieht seltsam aus... Jörg "Yadgar" Bleimann <yazdegird@gmx.de> - 2017-02-11 14:52 +0100
  Re: Selbstgestrickter Floyd-Steinberg-Filter sieht seltsam aus... Stefan Reuther <stefan.news@arcor.de> - 2017-02-12 11:00 +0100
    Re: Selbstgestrickter Floyd-Steinberg-Filter sieht seltsam aus... Jörg "Yadgar" Bleimann <yazdegird@gmx.de> - 2017-02-12 21:43 +0100
    Re: Selbstgestrickter Floyd-Steinberg-Filter sieht seltsam aus... Jörg "Yadgar" Bleimann <yazdegird@gmx.de> - 2017-02-12 20:34 +0100
  Re: Selbstgestrickter Floyd-Steinberg-Filter sieht seltsam aus... Markus Schaaf <mschaaf@elaboris.de> - 2017-02-14 01:03 +0100
    Re: Selbstgestrickter Floyd-Steinberg-Filter sieht seltsam aus... Jörg "Yadgar" Bleimann <yazdegird@gmx.de> - 2017-02-14 11:36 +0100

csiph-web