PHP ile bir delphi TColor dönüştürmek

1 Cevap php

Ben bir Delphi TColor değişken (örneğin 8388608, 128, 12632256) gelen gibi bazı renkler var. Ben bir PHP komut dosyası ile kendi rgb değerlerine bu renkleri dönüştürmek gerekir. Bu nasıl PHP yapılabilir?

1 Cevap

Delphi TColor tipi olan böyle bir bit gerçek RGB değerleri içeren bir tam sayıdır;

ssBBGGRR

Extracting RGB values:

Sağa bit kaydırma yaparken, 0xFF ile biraz-bilge AND yaparak parçaları filtreleyebilirsiniz.

Delphi kodu:

R := Color and $FF;
G := (Color shr 8) and $FF;
B := (Color shr 16) and $FF;

PHP kodu:

R = Color & 0xFF;
G = (Color >> 8) & 0xFF;
B = (Color >> 16) & 0xFF;

Warning about system colors:

Sistem renkleri türetilen özel renkleri vardır. (Düğme ve pencere renkler gibi)

Bu renkler aslında geçerli RGB değerleri ayarlamak zorunda değilsiniz. Sen ilk sekiz biti kontrol ederek bunları algılayabilir. Onlar sıfırdan iseniz özel bir sistem renk var. Ayrıca bir tamsayı renk çevirebilirsiniz. Bu negatif ise, bir sistem renk.

Bu durumda, R parçası sistem renk endeksi içerir.