.Net Color zu Crystal Reports Farbe konvertieren

.Net speichert die Farbe Color als 4Bytes: ARGB

  • A … Alpha Channel (durchsichtigkeit)
  • R Rot
  • G Grün
  • B Blau
Crystal Report erwartet die Farben allerdings in BGR (Blau Grün Rot).
Daher muss am den Alpha Teil wegschneiden und R sowie B vertauschen – z.b. in TSQL 2008 Scalar Value Funtion:
-- Create date: 09.09.2010
-- Description: Wandelt ARGB (Alpha Channel rgb von .Net Color.ToARGB() hat 4 Byte für RGBA, wobei Rot= 00ffff Grün=ff00ff und blau=ffff00 ist ) in RGB um
-- =============================================
ALTER FUNCTION [dbo].[fnArgb2Bgr]
(
@ARGB as int
)
RETURNS int
AS
BEGIN
DECLARE @BGR as int
DECLARE @R as int = (@ARGB & 0x00FF0000)/0x10000
DECLARE @G as int = (@ARGB & 0x0000FF00) /0x100
DECLARE @B as int = (@ARGB & 0x000000FF)</div>
<div>

SET @BGR=@B*0x10000+@G*0x100+@R
RETURN @BGR

END

Related Posts

No related posts.

Leave a Reply