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
Seite 2 von 5     12 34     Letzte »    
EMS

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

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
 
#12

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
 
#13

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
 
#14

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.858 Beiträge
 
Delphi 11 Alexandria
 
#15

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
 
#16

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
Popov
(Gast)

n/a Beiträge
 
#17

AW: was soll das übersetzt heißen?

  Alt 5. Jan 2013, 21:26
Das Gleiche, nur in die andere Richtung:

Delphi-Quellcode:
farbe:= (bneu shl 16) + (gneu shl 8) + rneu;
...
Edit:

Hier ein einfach Beispiel:

Delphi-Quellcode:
var
  L: LongInt;
  R, G, B: Byte;
begin
  L := ColorToRGB(Farbe); //macht aus Delphi-Color RGB-Color, konvertiert also auch clRed in rot

  R := Byte(L);
  G := Byte(L shr 8);
  B := Byte(L shr 16);

  //mach was mit den einzelnen R, G und B Bytes und dann wieder zusammensetzten

  Farbe := (B shl 16) + (G shl 8) + R;
end;

Geändert von Popov ( 5. Jan 2013 um 21:32 Uhr)
  Mit Zitat antworten Zitat
EMS

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

AW: was soll das übersetzt heißen?

  Alt 5. Jan 2013, 21:31
Ich hab jetzt das stehen

Delphi-Quellcode:
     rneu:=50 and $0000FF;
     gneu:=(60 and $00FF00);
     bneu:=(70 and $FF0000);


     Neues_Pixel:=(bneu shl 16) + (gneu shl 8)+ rneu;
Der Integer von diesem Pixel ist 50 müsste da nicht auch was 8 Stelliges raus kommen?
  Mit Zitat antworten Zitat
EMS

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

AW: was soll das übersetzt heißen?

  Alt 5. Jan 2013, 21:36
jetzt klappts so wie ich gerne wollte

Delphi-Quellcode:
     rneu:=0;
     gneu:=250;
     bneu:=0;
     Neues_Pixel:=(bneu shl 16) + (gneu shl 8)+ rneu;
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#20

AW: was soll das übersetzt heißen?

  Alt 5. Jan 2013, 21:41
Geht auch so:
MyColor := RGB(RotAnteil,GelbAnteil,BlauAnteil); RGB ist in der Unit Windows deklariert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    


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 06:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz