我发现无论是蓝色,深蓝色还是浅蓝色,字体颜色都不能很好地工作。它们仍然是完全相同的颜色。
var FontArialRegularFilePath = @"C:\Windows\Fonts\Arial.ttf";
var fontArialRegular = pdfclownFonts::Font.Get(parmDocument, FontArialRegularFilePath);
var file = new File();
var primitiveComposer = new PrimitiveComposer(new Page(file.Document));
{
var blockComposer = new BlockComposer(primitiveComposer);
primitiveComposer.SetFont(fontArialRegular, 22 /*[Font-Size]*/);
primitiveComposer.SetFillColor(new DeviceRGBColor(double.Parse("0"), double.Parse("0"), double.Parse("49"))); //Dark Navy Blue...
blockComposer.Begin(new RectangleF(0f, 0f, 200f, 50f), XAlignmentEnum.Left, YAlignmentEnum.Top);
blockComposer.ShowText("Listing Price");
blockComposer.End();
}
答案 0 :(得分:3)
OP设置颜色如下:
primitiveComposer.SetFillColor(new DeviceRGBColor(double.Parse("0"), double.Parse("0"), double.Parse("49"))); //Dark Navy Blue...
所以他似乎假设颜色成分的范围是0..255。但情况并非如此,使用类型double
的原因是:实际范围是0..1。
因此,OP最有可能想要
primitiveComposer.SetFillColor(new DeviceRGBColor(0.0, 0.0, 49.0/255.0)); //Dark Navy Blue...
由于OP认为结果颜色为黑色,因此使用new DeviceRGBColor(0.0, 0.0, Blue)
创建了不同色调的纯蓝色:
最初建议的值49.0/255.0
接近0.2,即非常深蓝色。
我认为OP知道对于某些蓝色的颜色,红色和绿色值不是0.