高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】default palette
default palette?
default palette?
i am creating a dwg file that contains two lines. when i set the color for the lines, i call odcmlookupaci, passing the rgb value and using the default dark palette. when i pass 0x00ff0000 (red), i get aci=5 and when i pass 0x000000ff (blue), i get aci=1. i store the index values and save the file.
then, when i view the file in the mfc sample viewer app, the lines are the wrong color. the "red" line is blue, and the "blue" line is red. i get the same result in autocad.
is there a default palette associated with a newly created dwg database object? if so, how can i query that palette so i can use it when i get the color index? as an alternative, is there a way that i can associate the dark or light palette with the new file?
cheers,
bob
first, 0x00ff0000 means blue. at least, on little-endian platforms. i think you use little endian platform since you mentioned anout mfc . to get odcolorref, you can use odrgb() macro. odrgb(0x00, 0x00, 0xff) returns 0x00ff0000.
second, palette can't be stored in dwg/dxf file. actual palette depends on background color in very sophisticated manner. the main idea is - each palette color should be visible. background color can't be stored in dwg either - it is setting of autocad or other application.
dwgdirect doesn't yet reproduce this sophisticated dependency, but it provides two palettes - for light and dark backgrounds.
if you want to make some entity having definite color with no dependency on background color, you should use rgb colors, not acis.
sincerely yours,
george udov
|