AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bild in Graustufen umwandeln
Thema durchsuchen
Ansicht
Themen-Optionen

Bild in Graustufen umwandeln

Ein Thema von fresh_hotboy · begonnen am 27. Okt 2003 · letzter Beitrag vom 20. Feb 2019
Antwort Antwort
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: Bild in Graustufen umwandeln

  Alt 4. Dez 2018, 15:12
Danke für den Hinweis, doch leider ändert auch das nichts an meinem Problem.
Poste mal den Code wie er jetzt nach der Änderung ist.
Du kannst den Code auch hier als Text einfügen mit [delphi]-Tags drum rum. Dann hast du hier auch Syntax Highlighting
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.115 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Bild in Graustufen umwandeln

  Alt 4. Dez 2018, 16:38
Mir ist das ganze sowieso suspekt. Mal ein paar Dinge:
  • Als erster Post im Forum ein Post zum Thema Zeigerarithmetik ist seltsam.
  • Totengräberei.
  • Warum ^TRGBTriple und nicht PBytes wie jeder normale Mensch es nutzen würde?
  • Was hat die JPEG-BMP-Methode im Screenshot suchen? (JPEG als Graustufen speichern ist extrem ineffizient. Korrekt wäre PNG Typ 0.)
  • Assign ohne var halte ich für kritisch.
  • Assign auf sich selbst ergibt keinen Sinn.
  • Graustufen produziert ein riesiges Speicherleck.
  • Was soll das mit dem Pixelformat überhaupt bringen?
  • Inc müsste wenn überhaupt als zweiten Parameter 3 haben oder nicht?
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: Bild in Graustufen umwandeln

  Alt 4. Dez 2018, 18:15
Mir ist das ganze sowieso suspekt. Mal ein paar Dinge:
  • Als erster Post im Forum ein Post zum Thema Zeigerarithmetik ist seltsam.
  • Totengräberei.
  • Warum ^TRGBTriple und nicht PBytes wie jeder normale Mensch es nutzen würde?
  • Was hat die JPEG-BMP-Methode im Screenshot suchen? (JPEG als Graustufen speichern ist extrem ineffizient. Korrekt wäre PNG Typ 0.)
  • Assign ohne var halte ich für kritisch.
  • Assign auf sich selbst ergibt keinen Sinn.
  • Graustufen produziert ein riesiges Speicherleck.
  • Was soll das mit dem Pixelformat überhaupt bringen?
  • Inc müsste wenn überhaupt als zweiten Parameter 3 haben oder nicht?
Du hast unter Deinen Bulletpoints Dein Fazit vergessen, oder war das schon im ersten Satz?!
Philip
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Bild in Graustufen umwandeln

  Alt 4. Dez 2018, 18:42
Mir ist das ganze sowieso suspekt. Mal ein paar Dinge:
  • Warum ^TRGBTriple und nicht PBytes wie jeder normale Mensch es nutzen würde?
Ich gebe dir da bei allen Punkten Recht, aber TRGBTriple ist ein Record extra für diesen Zweck.
Von daher würde ich dir da widersprechen.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.115 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Bild in Graustufen umwandeln

  Alt 4. Dez 2018, 19:22
Mir ist das ganze sowieso suspekt. Mal ein paar Dinge:
  • Warum ^TRGBTriple und nicht PBytes wie jeder normale Mensch es nutzen würde?
Ich gebe dir da bei allen Punkten Recht, aber TRGBTriple ist ein Record extra für diesen Zweck.
Von daher würde ich dir da widersprechen.
Aber TRGBTriple ist ein einzelnes Element. Ich würde ja eher einen Array-Typ nehmen. Zur Not eben Delphi-Referenz durchsuchenVcl.Imaging.GIFImg.PBGRArray oder so.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#6

AW: Bild in Graustufen umwandeln

  Alt 7. Dez 2018, 08:54
  • In "Graustufen()" gehört das "end" der äußeren "for"-Schleife hinter das "end" der inneren "for"-Schleife.
    (Alles ordentlich einrücken, dann passieren solche Fehler nicht.)
  • In "Graustufen()" "bitmap.Assign(bitmap);" ist Unsinn und eine mögliche Fehlerquelle.
  • In "B_GraustufenClick() zum Schluss "image1.Invalidate" aufrufen, um die Änderung sichtbar zu machen.
  • Das Setzen des Pixelformats gehört eher in "Graustufen()".
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.305 Beiträge
 
Delphi 12 Athens
 
#7

AW: Bild in Graustufen umwandeln

  Alt 7. Dez 2018, 09:53
Mir ist das ganze sowieso suspekt. Mal ein paar Dinge:
  • Assign ohne var halte ich für kritisch.
Warum? Das musst du mir erklären.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
491 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Bild in Graustufen umwandeln

  Alt 10. Dez 2018, 03:25
Als erster Post im Forum ein Post zum Thema Zeigerarithmetik ist seltsam.
????

Warum ^TRGBTriple und nicht PBytes wie jeder normale Mensch es nutzen würde?
Wattt? Wenn "jeder normale Mensch" für dich nur du selber bist, dann vielleicht. Aber alle "normalen Menschen" die ich kenne benutzen TRGBTriple.

Assign ohne var halte ich für kritisch.
Wiebitte? Was genau meinst du?

Ansonsten kann ich dir nur zustimmen. Aber wäre wirklich nett, wenn du mir mal etwas Erleuchtung bringst, ich blicke da manchmal nicht recht was du sagen willst.
Dennis
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Bild in Graustufen umwandeln

  Alt 19. Feb 2019, 21:12
kleine Ergänzung

obige beiträge zielen immer auf DELPHI + VCL Framework ab
es gibt aber noch die Option DELPHI + FMX Framework ,

Ein Demo Projekt um Schwarz- Weiss Bilder zu erzeugen gibt es hier : https://github.com/ImageProcessingFMX/SimpleDemo
Der Code funktioniert dann auch unter LINUX etc.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#10

AW: Bild in Graustufen umwandeln

  Alt 20. Feb 2019, 07:23
Zitat:
Schwarz- Weiss Bilder
Was denn "Schwarz- Weiss" oder Graustufen? zumindest sind es 256 werte nicht nur 2 ($FFFFFF + $F000000)

Und GetPixel\SetPixel? Kein Ahnung wie schnell das unter LINUX\FMX ist jedenfalls unter Windows um einiges lahmer.
Das sollte auch unter Linux laufen oder kennt Linux kein ASM sollte mich doch schwer wundern.

Delphi-Quellcode:
function TSkinEngine.Rgb2Gray(RGBValue: COLORREF): COLORREF; stdcall;
asm
  movzx edx, al
  imul edx, 19595 //Red
  movzx ecx, ah
  imul ecx, 38470 //Greean
  shr eax, 16
  imul eax, 7471 //Blue
  add eax, ecx
  add eax, edx
  shr eax, 16
  mov ah, al
  shl eax, 8
  mov al, ah
end;
und FMX.

grusss

Geändert von EWeiss (20. Feb 2019 um 07:53 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:19 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-2025 by Thomas Breitkreuz