本文整理汇总了C++中Palette::GetColour方法的典型用法代码示例。如果您正苦于以下问题:C++ Palette::GetColour方法的具体用法?C++ Palette::GetColour怎么用?C++ Palette::GetColour使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Palette
的用法示例。
在下文中一共展示了Palette::GetColour方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
static void scan_I8_RGBA8_keyed(I8 const* src, Palette const& pal, RGBA8* dest, int w, I8 transparent)
{
int x;
for( x=0; x<w; ++x )
{
I8 c = *src++;
if( c != transparent)
*dest = pal.GetColour(c);
++dest;
}
}
示例2: BlitZoomIndexedToRGBx
void BlitZoomIndexedToRGBx(
IndexedImg const& srcimg, Box const& srcbox,
RGBImg& destimg, Box& destbox,
Palette const& palette,
int zoom,
int transparentcolour,
int maskcolour )
{
assert( srcimg.Bounds().Contains( srcbox ) );
assert( zoom >= 1 );
Box destclipped( destbox );
Box srcclipped( srcbox );
clip_blit( srcimg.Bounds(), srcclipped, destimg.Bounds(), destclipped, zoom );
int y;
for( y=0; y<destclipped.H(); ++y )
{
int x;
RGBx* dest = destimg.Ptr( destclipped.XMin() + 0, destclipped.YMin() + y );
uint8_t const* src = srcimg.PtrConst( srcclipped.XMin()+0, srcclipped.YMin()+y/zoom );
int n=0;
for( x=0; x<destclipped.W(); ++x )
{
RGBx c;// = *dest;
if( maskcolour != -1 )
c = palette.GetColour(maskcolour);
else
c = palette.GetColour(*src);
if( *src != transparentcolour )
*dest = c;
++dest;
if( ++n >= zoom )
{
++src;
n=0;
}
}
}
}