本文整理汇总了C++中wxColour::Red方法的典型用法代码示例。如果您正苦于以下问题:C++ wxColour::Red方法的具体用法?C++ wxColour::Red怎么用?C++ wxColour::Red使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxColour
的用法示例。
在下文中一共展示了wxColour::Red方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ColourString
wxString ColourString(wxColour col, int type)
{
wxString colstring;
if(type == 0) return colstring.Format("%.4f %.4f %.4f", (double)col.Red()/255, (double)col.Green()/255, (double)col.Blue()/255);
else return colstring.Format("%d %d %d", col.Red(), col.Green(), col.Blue());
}
示例2: ReplaceChannelStatusColour
wxImage ReplaceChannelStatusColour( wxBitmap img, const wxColour& colour )
{
wxImage ret = img.ConvertToImage();
wxImage::HSVValue origcolour = wxImage::RGBtoHSV( wxImage::RGBValue( colour.Red(), colour.Green(), colour.Blue() ) );
double bright = origcolour.value - 0.1*origcolour.value;
bright = LSL::Util::Clamp( bright, 0.0, 1.0 );
wxImage::HSVValue hsvdarker1( origcolour.hue, origcolour.saturation, bright );
bright = origcolour.value - 0.5*origcolour.value;
bright = LSL::Util::Clamp( bright, 0.0, 1.0 );
wxImage::HSVValue hsvdarker2( origcolour.hue, origcolour.saturation, bright );
wxImage::RGBValue rgbdarker1 = wxImage::HSVtoRGB( hsvdarker1 );
wxImage::RGBValue rgbdarker2 = wxImage::HSVtoRGB( hsvdarker2 );
ret.Replace( 164, 147, 0, rgbdarker2.red, rgbdarker2.green, rgbdarker2.blue );
ret.Replace( 255, 228, 0, rgbdarker1.red, rgbdarker1.green, rgbdarker1.blue );
ret.Replace( 255, 253, 234, colour.Red(), colour.Green(), colour.Blue() );
return ret;
}
示例3: Blend
wxColour AColor::Blend( const wxColour & c1, const wxColour & c2 )
{
wxColour c3(
(c1.Red() + c2.Red())/2,
(c1.Green() + c2.Green())/2,
(c1.Blue() + c2.Blue())/2);
return c3;
}
示例4: blend50
wxColour blend50(const wxColour& c1, const wxColour& c2)
{
unsigned char r,g,b,a;
r = c1.Red()/2 + c2.Red()/2;
g = c1.Green()/2 + c2.Green()/2;
b = c1.Blue()/2 + c2.Blue()/2;
a = c1.Alpha()/2 + c2.Alpha()/2;
return a << 24 | b << 16 | g << 8 | r;
}
示例5: WriteColourAlpha
wxString WriteColourAlpha(const wxColour& colour, const unsigned int alpha) {
wxASSERT(colour.Ok());
wxASSERT(alpha <= 256);
if (alpha)
return wxString::Format(wxT("#%02X%02X%02X%02X"), colour.Red(), colour.Green(), colour.Blue(), alpha);
else
return wxString::Format(wxT("#%02X%02X%02X"), colour.Red(), colour.Green(), colour.Blue());
}
示例6: ChangeImageColour
///This will explicitly shift the image color from
///srcColour to dstColour.
std::unique_ptr<wxImage> ChangeImageColour(wxImage * srcImage,
wxColour & srcColour,
wxColour & dstColour)
{
// This function takes a source image, which it assumes to
// be grayscale, and smoothly changes the overall color
// to the specified color, and returns the result as a
// NEW image. This works well for grayscale 3D images.
// Audacity uses this routines to make the buttons
// (skip-start, play, stop, record, skip-end) adapt to
// the color scheme of the user.
unsigned char *src = srcImage->GetData();
int width = srcImage->GetWidth();
int height = srcImage->GetHeight();
auto dstImage = std::make_unique<wxImage>(width, height);
unsigned char *dst = dstImage->GetData();
//Get the source color
int srcVal[3], srcOpp[3];
srcVal[0] = srcColour.Red();
srcVal[1] = srcColour.Green();
srcVal[2] = srcColour.Blue();
int dstVal[3], dstOpp[3];
dstVal[0] = dstColour.Red();
dstVal[1] = dstColour.Green();
dstVal[2] = dstColour.Blue();
int i;
for (i = 0; i < 3; i++) {
srcOpp[i] = 256 - srcVal[i]; // avoid zero!
dstOpp[i] = 255 - dstVal[i];
}
int c = 0;
for (i = 0; i < width * height * 3; i++) {
int s = (int) *src;
if (s >= srcVal[c])
*dst++ = dstVal[c] + dstOpp[c] * (s - srcVal[c]) / srcOpp[c];
else
*dst++ = dstVal[c] * s / srcVal[c];
src++;
c = (c + 1) % 3;
}
return dstImage;
}
示例7: MatchBoundaryPixel
static bool LINKAGEMODE MatchBoundaryPixel(wxImage *img, int x, int y, int w, int h, const wxColour & fill, const wxColour& bound)
{
if ((x<0)||(x>=w)||(y<0)||(y>=h)) return true;
unsigned char r = img->GetRed(x,y);
unsigned char g = img->GetGreen(x,y);
unsigned char b = img->GetBlue(x,y);
if ( fill.Red() == r && fill.Green() == g && fill.Blue() == b )
return true;
if ( bound.Red() == r && bound.Green() == g && bound.Blue() == b )
return true;
return false;
}
示例8: AreColoursSimilar
bool AreColoursSimilar( const wxColour& col1, const wxColour& col2, int mindiff )
{
int r,g,b;
r = col1.Red() - col2.Red();
g = col1.Green() - col2.Green();
b = col1.Blue() - col2.Blue();
r = r>0?r:-r;
g = g>0?g:-g;
b = b>0?b:-b;
int difference = std::min( r, g );
difference = std::min( difference, b );
return difference < mindiff;
}
示例9: DrawTab
virtual void DrawTab(wxDC &dc, wxWindow *wnd, const wxAuiNotebookPage &page, const wxRect &rect, int close_button_state, wxRect *out_tab_rect, wxRect *out_button_rect, int *x_extent)
{
wxColour const tint = m_pNotebook->GetTabColour(page.window);
if (tint.IsOk()) {
#if !defined(__WXGTK__) || !defined(wxHAS_NATIVE_TABART)
wxColour const baseOrig = m_baseColour;
wxColour const activeOrig = m_activeColour;
wxColour const base(
wxColour::AlphaBlend(tint.Red(), baseOrig.Red(), tint.Alpha() / 255.0f),
wxColour::AlphaBlend(tint.Green(), baseOrig.Green(), tint.Alpha() / 255.0f),
wxColour::AlphaBlend(tint.Blue(), baseOrig.Blue(), tint.Alpha() / 255.0f));
wxColour const active(
wxColour::AlphaBlend(tint.Red(), activeOrig.Red(), tint.Alpha() / 255.0f),
wxColour::AlphaBlend(tint.Green(), activeOrig.Green(), tint.Alpha() / 255.0f),
wxColour::AlphaBlend(tint.Blue(), activeOrig.Blue(), tint.Alpha() / 255.0f));
m_baseColour = base;
m_activeColour = active;
wxAuiDefaultTabArt::DrawTab(dc, wnd, page, rect, close_button_state, out_tab_rect, out_button_rect, x_extent);
m_baseColour = baseOrig;
m_activeColour = baseOrig;
#else
wxRect tab_rect;
if (!out_tab_rect) {
out_tab_rect = &tab_rect;
}
wxAuiDefaultTabArt::DrawTab(dc, wnd, page, rect, close_button_state, out_tab_rect, out_button_rect, x_extent);
wxMemoryDC *mdc = dynamic_cast<wxMemoryDC*>(&dc);
if (mdc) {
wxGraphicsContext *gc = wxGraphicsContext::Create(*mdc);
if (gc) {
gc->SetBrush(wxBrush(tint));
gc->DrawRectangle(out_tab_rect->x, out_tab_rect->y, out_tab_rect->width, out_tab_rect->height);
delete gc;
}
}
#endif
}
else {
wxAuiDefaultTabArt::DrawTab(dc, wnd, page, rect, close_button_state, out_tab_rect, out_button_rect, x_extent);
}
}
示例10: Set
void wxGenericColour::Set( const wxColour& c )
{
wxCHECK_RET(Ok() && c.Ok(), wxT("Invalid colour"));
M_GCOLOURDATA->m_r = c.Red();
M_GCOLOURDATA->m_g = c.Green();
M_GCOLOURDATA->m_b = c.Blue();
}
示例11: OnMouse
void colorPatternArea::OnMouse(wxMouseEvent &event) {
if (mID < kNumPatterns && event.LeftDClick()) {
patternSelectDlg selector(this);
if (selector.ShowModal() == wxOK) {
}
}
if (mID >= ID_BITMAP_SLT && mID < ID_BITMAP_SLT + kNumPatterns) //exclude color areas in the left panel
{
if ( mID >= ID_BITMAP_SLT && (event.Entering() || mID == dynamic_cast<patternSelectDlg*>(mParent)->getSltId()) ) {
//"distance" of two colors
if ( pow((float)(mCurrentColor.Red()-defaultColor.Red()),2.0f) + pow((float)(mCurrentColor.Green()-defaultColor.Green()),2.0f) + pow((float)(mCurrentColor.Blue()-defaultColor.Blue()),2.0f) < 500)
SetBackgroundColour(wxColour(68,68,68));
else
SetBackgroundColour(defaultColor);
}
if ( event.Leaving() && mID >= ID_BITMAP_SLT && mPatID != dynamic_cast<patternSelectDlg*>(mParent)->getSltPatId() )
SetBackgroundColour(mCurrentColor);
if (event.LeftDown() && mID >= ID_BITMAP_SLT) {
dynamic_cast<patternSelectDlg*>(mParent)->setSltId(mID);
}
}
}
示例12: IsDark
bool DrawingUtils::IsDark(const wxColour& color)
{
int evg = (color.Red() + color.Green() + color.Blue()) / 3;
if(evg < 127) return true;
return false;
}
示例13: SetLineColour
void OpenGLWrapper::SetLineColour(wxColour col, float alpha, int width) {
line_r = col.Red() / 255.f;
line_g = col.Green() / 255.f;
line_b = col.Blue() / 255.f;
line_a = alpha;
line_width = width;
}
示例14: wxAdjustToColour
inline void wxAdjustToColour(
unsigned char& r, unsigned char& g, unsigned char& b, const wxColour& c)
{
r = wxAdjustToColour(r, c.Red());
g = wxAdjustToColour(g, c.Green());
b = wxAdjustToColour(b, c.Blue());
}
示例15: tintImage
wxImage tintImage( wxImage to_colorize, wxColour col)
{
wxImage highlightIcon(to_colorize.GetWidth(),to_colorize.GetHeight());
bool do_alpha = false;
if(to_colorize.HasAlpha())
{
highlightIcon.InitAlpha();
do_alpha = true;
}
else if(to_colorize.HasMask())
{
highlightIcon.SetMaskFromImage(to_colorize,to_colorize.GetMaskRed(),to_colorize.GetMaskGreen(),to_colorize.GetMaskBlue());
}
for(int x = 0; x < highlightIcon.GetWidth(); x++)
{
for(int y = 0; y < highlightIcon.GetHeight(); y++)
{
to_colorize.GetData();
unsigned char srcR = to_colorize.GetRed(x,y);
unsigned char srcG = to_colorize.GetGreen(x,y);
unsigned char srcB = to_colorize.GetBlue(x,y);
highlightIcon.SetRGB(x,y,(srcR + col.Red())/2,(srcG + col.Green())/2, (srcB + col.Blue())/2);
if(do_alpha)
highlightIcon.SetAlpha(x,y,to_colorize.GetAlpha(x,y));
}
}
return highlightIcon;
}