AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

was soll das übersetzt heißen?

Ein Thema von EMS · begonnen am 5. Jan 2013 · letzter Beitrag vom 6. Jan 2013
Antwort Antwort
Popov
(Gast)

n/a Beiträge
 
#1

AW: was soll das übersetzt heißen?

  Alt 5. Jan 2013, 20:29
Ja und nein. Der Code gibt zum Teil etwas Sinnvolles und zum Teil weniger Sinnvolles. Also je nach Farbtiefe gibt es z. B. die Bitmap in 32Bit, 24Bit, usw. Für RGB brauchst du nur 3 Byte (RGB), also 3 * 8 = 24 Bit. Das vierte Byte von 32Bit ist nicht leer, da sind auch Informationen gespeichert, aber jetzt keine die uns hier interessieren. Dich interessieren also nur 24Bit Bitmaps. Entweder man ignoriert jetzt das vierte Byte oder konvertiert das in 24Bit Bitmap.

Also du hast jetzt eine 24Bit Bitmap die aus 3 Bytes besteht. Die erste Aufgabe ist es jetzt die einzelnen Bytes zu filtern, d. h. mach aus dem Integer Color Wert drei einzelne Byte Werte (das vierte ignorieren wir). Also $00FFEEDD in $FF, $EE und $DD zerlegen.

Jetzt wird aus (z. B.) $DD durch Chr($DD) ein ASCII Wert (ob das einen Sinn macht ist eine andere Sache). Das alles drei mal und man hat den String.
  Mit Zitat antworten Zitat
EMS

Registriert seit: 19. Dez 2012
97 Beiträge
 
#2

AW: was soll das übersetzt heißen?

  Alt 5. Jan 2013, 20:42
ok jetzt kommts langsam.
Also macht sowas auch nur sin wenn ich ein Pixel aus einem 24BIT bitmap auslesen möchte?
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#3

AW: was soll das übersetzt heißen?

  Alt 5. Jan 2013, 20:52
Es muß mindestens 24Bit sein. Erstens weil nur mindestens 24Bit Bitmaps RGB bieten und zweites wenn du bei einer 8Bit (256 Farben) auf Bits über das 8 Bit zugreifst, dann kommt sowieso nur 0 raus. Bei 32Bit braucht man dann sowieso nur die 24Bit.
  Mit Zitat antworten Zitat
EMS

Registriert seit: 19. Dez 2012
97 Beiträge
 
#4

AW: was soll das übersetzt heißen?

  Alt 5. Jan 2013, 20:55
also würde das Pixel auslesen aus einem jpeg auch nicht gehen?
Oder geht das wenn ich das in ein Delphi image lade?
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#5

AW: was soll das übersetzt heißen?

  Alt 5. Jan 2013, 21:06
Jpeg funktioniert etwas anderes als Bitmap. Ich will jetzt nicht auf die Feinheiten eingehen, aber es ist ein verlustbehaftetes Formal und Pixel als solches spielen weniger eine Rolle. Trotzdem, jede Jpeg wird von Windows intern zum anzeigen soweit ich weiß zu Bitmap konvertiert.

Es ist weniger interessant ob Bitmap oder Jpeg, wichtiger ist Canvas. Bitmap hat Canvas, Jpeg soweit ich weiß nicht. Du ließt deine Pixel nicht von der Bitmap, sondern von der Canvas der Bitmap. Canvas ist die Leinwand der Bitmap, und da kann man eben Pixel für Pixel auslesen.

Allerdings ist es kein Problem eine Jpeg in Bitmap zu konvertieren. Ich glaube mit Bitmap.Assign(Jpeg) bist du schon dabei.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.867 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: was soll das übersetzt heißen?

  Alt 5. Jan 2013, 21:17
Ein Jpeg wird beim Laden in ein Image autonatisch in ein Bitmap verwandelt ( alle Formate werden von den Filtern so behandelt)
Markus Kinzler
  Mit Zitat antworten Zitat
EMS

Registriert seit: 19. Dez 2012
97 Beiträge
 
#7

AW: was soll das übersetzt heißen?

  Alt 5. Jan 2013, 21:22
ok das ist gut dann hab ich das jetzt so verstanden.

jetzt möchte ich ja selber diese Buchstaben in die einzelnen Bits der Pixel schreiben.

wäre das hier richtig?

Delphi-Quellcode:
rneu:=50 and $0000FF;
gneu:=(60 and $00FF00) shr 8;
bneu:=(70 and $FF0000) shr 16;
Aber ich komm jetzt nicht drauf wie ich die dann wieder zu zB. farbe zusammen bekommeß

kann ich da sagen
farbe:=rneu + gneu + bneu;

Wäre das richtig´?
  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 21:46 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