![]() |
Prozentrechnung
Hallo
Ich habe ein problem mit der Prozentrechnung in delphi 7. Ich will den Prozentualen Anteil der Pixel in bestimmten Farben berechnen. Die Anzahl der Pixel in den Farben habe ich schon berechnet.
Delphi-Quellcode:
grau ist die anzahl der grauen pixel.
//Memo3.Lines.add(floattostr((grau)/(Image1.Picture.Bitmap.Width +1 * Image1.Picture.Bitmap.Height +1)*100) + '%');
was habe ich falsch gemacht? |
AW: Prozentrechnung
Hallo,
ich würde mal sagen, dass der Gesamtansatz zur Prozentberechnung falsch ist. Gehe es doch mal anhand eines einfachen Dreisatzes durch: Du hast eine Fläche von Width = 100 und Height = 100 Pixeln (also 100 * 100 Pixel = 10000 Pixel) und davon sind 5000 Pixel grau und 2500 gelb: graue Pixel: 10000 Pexel entspricht 100% 5000 Pixel entspricht X% X = 5000 * 100 / 10000 X= 50% gelbe Pixel: 10000 Pixel entspricht 100% 2500 Pixel entspricht X% X = 2500 * 100 / 10000 X = 25% Dein Code lautet z.B. für die grauen Pixels demnach wie folgt:
Delphi-Quellcode:
PxProCent := FloatToStr(CountedGreyPixels * 100 / (Image1.Picture.Bitmap.Width * Image1.Picture.Bitmap.Height));
Wenn Du das ganze jetzt noch in eine Funktion packst und farbunabhängig gestaltest, kannst Du zu jeder Farbe gleich Deine Prozent-Angaben mit derselben Funktion ausrechnen lassen. |
AW: Prozentrechnung
Du hast mindestens zwei Klammern vergessen:
Delphi-Quellcode:
(Image1.Picture.Bitmap.Width +1) * (Image1.Picture.Bitmap.Height +1)
//statt (Image1.Picture.Bitmap.Width +1 * Image1.Picture.Bitmap.Height +1) |
AW: Prozentrechnung
Wieso eigentlich das +1 jeweils? Die Größe sollte doch Höhe * Breite entsprechen, oder gibt es da Toleranzen, die mir bislang unbekannt sind?
|
AW: Prozentrechnung
Danke für die schnelle antwort:thumb:,
jetzt funktionierts |
AW: Prozentrechnung
Zitat:
|
AW: Prozentrechnung
Das sollte man IMO ja bereits im Vorfeld ausgeschlossen haben. Nur so wie jetzt wird ja das Ergebnis (wenn auch nur geringfügig) verfälscht.
|
AW: Prozentrechnung
Zitat:
|
AW: Prozentrechnung
Und wie hast Du das Problem jetzt gelöst?
Zeig doch mal Deine neue Code-Zeile. |
AW: Prozentrechnung
Ich tippe ja eher drauf, dass es eine leichte "in der Informatik wird ab 0 gezählt" Verwirrung war :lol:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz