本文整理汇总了C++中Image::Center方法的典型用法代码示例。如果您正苦于以下问题:C++ Image::Center方法的具体用法?C++ Image::Center怎么用?C++ Image::Center使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Image
的用法示例。
在下文中一共展示了Image::Center方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setBackground
void App::setBackground(const string& themedir) {
string filename;
filename = themedir + "/background.png";
Image *image = new Image;
bool loaded = image->Read(filename.c_str());
if (!loaded){ // try jpeg if png failed
filename = "";
filename = themedir + "/background.jpg";
loaded = image->Read(filename.c_str());
}
if (loaded) {
string bgstyle = cfg.getOption("background_style");
if (bgstyle == "stretch") {
image->Resize(XWidthOfScreen(ScreenOfDisplay(Dpy, Scr)), XHeightOfScreen(ScreenOfDisplay(Dpy, Scr)));
} else if (bgstyle == "tile") {
image->Tile(XWidthOfScreen(ScreenOfDisplay(Dpy, Scr)), XHeightOfScreen(ScreenOfDisplay(Dpy, Scr)));
} else if (bgstyle == "center") {
string hexvalue = cfg.getOption("background_color");
hexvalue = hexvalue.substr(1,6);
image->Center(XWidthOfScreen(ScreenOfDisplay(Dpy, Scr)), XHeightOfScreen(ScreenOfDisplay(Dpy, Scr)),
hexvalue.c_str());
} else { // plain color or error
string hexvalue = cfg.getOption("background_color");
hexvalue = hexvalue.substr(1,6);
image->Center(XWidthOfScreen(ScreenOfDisplay(Dpy, Scr)), XHeightOfScreen(ScreenOfDisplay(Dpy, Scr)),
hexvalue.c_str());
}
Pixmap p = image->createPixmap(Dpy, Scr, Root);
XSetWindowBackgroundPixmap(Dpy, Root, p);
}
XClearWindow(Dpy, Root);
XFlush(Dpy);
}
示例2: init
void init()
{
speed = 20;
canvas.LoadJpeg( "Data/BG/4.jpg" );
turtle.LoadPng( "Data/dir.png" );
turtle.SetPos( 512, 384 );
turtle.Center();
reset();
}
示例3: GetColor
Panel::Panel(Display* dpy, int scr, Window root, Cfg* config,
const string& themedir) {
// Set display
Dpy = dpy;
Scr = scr;
Root = root;
cfg = config;
session = "";
// Init GC
XGCValues gcv;
unsigned long gcm;
gcm = GCForeground|GCBackground|GCGraphicsExposures;
gcv.foreground = GetColor("black");
gcv.background = GetColor("white");
gcv.graphics_exposures = False;
TextGC = XCreateGC(Dpy, Root, gcm, &gcv);
font = XftFontOpenName(Dpy, Scr, cfg->getOption("input_font").c_str());
welcomefont = XftFontOpenName(Dpy, Scr, cfg->getOption("welcome_font").c_str());
introfont = XftFontOpenName(Dpy, Scr, cfg->getOption("intro_font").c_str());
enterfont = XftFontOpenName(Dpy, Scr, cfg->getOption("username_font").c_str());
msgfont = XftFontOpenName(Dpy, Scr, cfg->getOption("msg_font").c_str());
Visual* visual = DefaultVisual(Dpy, Scr);
Colormap colormap = DefaultColormap(Dpy, Scr);
// NOTE: using XftColorAllocValue() would be a better solution. Lazy me.
XftColorAllocName(Dpy, visual, colormap, cfg->getOption("input_fgcolor").c_str(), &fgcolor);
XftColorAllocName(Dpy, visual, colormap, cfg->getOption("input_shadow_color").c_str(), &inputshadowcolor);
XftColorAllocName(Dpy, visual, colormap, cfg->getOption("input_bgcolor").c_str(), &bgcolor);
XftColorAllocName(Dpy, visual, colormap, cfg->getOption("welcome_color").c_str(), &welcomecolor);
XftColorAllocName(Dpy, visual, colormap, cfg->getOption("welcome_shadow_color").c_str(), &welcomeshadowcolor);
XftColorAllocName(Dpy, visual, colormap, cfg->getOption("username_color").c_str(), &entercolor);
XftColorAllocName(Dpy, visual, colormap, cfg->getOption("username_shadow_color").c_str(), &entershadowcolor);
XftColorAllocName(Dpy, visual, colormap, cfg->getOption("msg_color").c_str(), &msgcolor);
XftColorAllocName(Dpy, visual, colormap, cfg->getOption("msg_shadow_color").c_str(), &msgshadowcolor);
XftColorAllocName(Dpy, visual, colormap, cfg->getOption("intro_color").c_str(), &introcolor);
// Load properties from config / theme
input_name_x = Cfg::string2int(cfg->getOption("input_name_x").c_str());
input_name_y = Cfg::string2int(cfg->getOption("input_name_y").c_str());
input_pass_x = Cfg::string2int(cfg->getOption("input_pass_x").c_str());
input_pass_y = Cfg::string2int(cfg->getOption("input_pass_y").c_str());
inputShadowXOffset =
Cfg::string2int(cfg->getOption("input_shadow_xoffset").c_str());
inputShadowYOffset =
Cfg::string2int(cfg->getOption("input_shadow_yoffset").c_str());
if (input_pass_x < 0 || input_pass_y < 0){ // single inputbox mode
input_pass_x = input_name_x;
input_pass_y = input_name_y;
}
// Load panel and background image
string panelpng = "";
panelpng = panelpng + themedir +"/panel.png";
image = new Image;
bool loaded = image->Read(panelpng.c_str());
if (!loaded) { // try jpeg if png failed
panelpng = themedir + "/panel.jpg";
loaded = image->Read(panelpng.c_str());
if (!loaded) {
cerr << APPNAME << ": could not load panel image for theme '"
<< basename(themedir.c_str()) << "'"
<< endl;
exit(ERR_EXIT);
}
}
Image* bg = new Image();
string bgstyle = cfg->getOption("background_style");
if (bgstyle != "color") {
panelpng = themedir +"/background.png";
loaded = bg->Read(panelpng.c_str());
if (!loaded) { // try jpeg if png failed
panelpng = themedir + "/background.jpg";
loaded = bg->Read(panelpng.c_str());
if (!loaded){
cerr << APPNAME << ": could not load background image for theme '"
<< basename(themedir.c_str()) << "'"
<< endl;
exit(ERR_EXIT);
}
}
}
if (bgstyle == "stretch") {
bg->Resize(XWidthOfScreen(ScreenOfDisplay(Dpy, Scr)), XHeightOfScreen(ScreenOfDisplay(Dpy, Scr)));
} else if (bgstyle == "tile") {
bg->Tile(XWidthOfScreen(ScreenOfDisplay(Dpy, Scr)), XHeightOfScreen(ScreenOfDisplay(Dpy, Scr)));
} else if (bgstyle == "center") {
string hexvalue = cfg->getOption("background_color");
hexvalue = hexvalue.substr(1,6);
bg->Center(XWidthOfScreen(ScreenOfDisplay(Dpy, Scr)), XHeightOfScreen(ScreenOfDisplay(Dpy, Scr)),
hexvalue.c_str());
} else { // plain color or error
string hexvalue = cfg->getOption("background_color");
hexvalue = hexvalue.substr(1,6);
bg->Center(XWidthOfScreen(ScreenOfDisplay(Dpy, Scr)), XHeightOfScreen(ScreenOfDisplay(Dpy, Scr)),
hexvalue.c_str());
//.........这里部分代码省略.........
示例4: getenv
//.........这里部分代码省略.........
// Load properties from config / theme
input_name_x = Cfg::string2int(cfg->getOption("input_name_x").c_str());
input_name_y = Cfg::string2int(cfg->getOption("input_name_y").c_str());
input_pass_x = Cfg::string2int(cfg->getOption("input_pass_x").c_str());
input_pass_y = Cfg::string2int(cfg->getOption("input_pass_y").c_str());
inputShadowXOffset =
Cfg::string2int(cfg->getOption("input_shadow_xoffset").c_str());
inputShadowYOffset =
Cfg::string2int(cfg->getOption("input_shadow_yoffset").c_str());
if (input_pass_x < 0 || input_pass_y < 0) { // single inputbox mode
input_pass_x = input_name_x;
input_pass_y = input_name_y;
}
// Load panel and background image
string panelpng = "";
panelpng = panelpng + themedir +"/panel.png";
image = new Image;
bool loaded = image->Read(panelpng.c_str());
if (!loaded) { // try jpeg if png failed
panelpng = themedir + "/panel.jpg";
loaded = image->Read(panelpng.c_str());
if (!loaded) {
cerr << APPNAME
<< ": could not load panel image for theme '"
<< basename((char*)themedir.c_str()) << "'"
<< endl;
exit(ERR_EXIT);
}
}
Image* bg = new Image;
string bgstyle = cfg->getOption("background_style");
if (bgstyle != "color") {
panelpng = themedir +"/background.png";
loaded = bg->Read(panelpng.c_str());
if (!loaded) { // try jpeg if png failed
panelpng = themedir + "/background.jpg";
loaded = bg->Read(panelpng.c_str());
if (!loaded) {
cerr << APPNAME
<< ": could not load background image for theme '"
<< basename((char*)themedir.c_str()) << "'"
<< endl;
exit(ERR_EXIT);
}
}
}
if (bgstyle == "stretch") {
bg->Resize(screen1_width, screen1_height);
} else if (bgstyle == "tile") {
bg->Tile(screen1_width,
screen1_height);
} else if (bgstyle == "center") {
string hexvalue = cfg->getOption("background_color");
hexvalue = hexvalue.substr(1,6);
bg->Center(screen1_width,
screen1_height,
hexvalue.c_str());
} else { // plain color or error
string hexvalue = cfg->getOption("background_color");
hexvalue = hexvalue.substr(1,6);
bg->Center(screen1_width,
screen1_height,
hexvalue.c_str());
}
string cfgX = cfg->getOption("input_panel_x");
string cfgY = cfg->getOption("input_panel_y");
X = Cfg::absolutepos(cfgX, screen1_width, image->Width());
Y = Cfg::absolutepos(cfgY, screen1_height, image->Height());
input_name_x += X, input_name_y += Y, input_pass_x += X, input_pass_y += Y;
// Merge image into background
image->Merge(bg, X, Y);
Pixmap p = image->createPixmap(Dpy, Scr, Win);
XSetWindowBackgroundPixmap(Dpy, Win, p);
XFreePixmap(Dpy, p);
XClearWindow(Dpy, Win);
delete bg;
// Read (and substitute vars in) the welcome message
int show_welcome_msg = Cfg::string2int(cfg->getOption("show_welcome_msg").c_str());
if (show_welcome_msg)
welcome_message = cfg->getWelcomeMessage();
else
welcome_message = "";
intro_message = cfg->getOption("intro_msg");
SetName(user);
// Draw the panel for the first time
OnExpose();
}
示例5: if
//.........这里部分代码省略.........
<< endl;
exit(ERR_EXIT);
}
}
Image* bg = new Image();
string bgstyle = cfg->getOption("background_style");
if (bgstyle != "color") {
panelpng = themedir +"/background.png";
loaded = bg->Read(panelpng.c_str());
if (!loaded) { /* try jpeg if png failed */
panelpng = themedir + "/background.jpg";
loaded = bg->Read(panelpng.c_str());
if (!loaded){
logStream << APPNAME
<< ": could not load background image for theme '"
<< basename((char*)themedir.c_str()) << "'"
<< endl;
exit(ERR_EXIT);
}
}
}
if (mode == Mode_Lock) {
if (bgstyle == "stretch")
bg->Resize(viewport.width, viewport.height);
//bg->Resize(XWidthOfScreen(ScreenOfDisplay(Dpy, Scr)),
// XHeightOfScreen(ScreenOfDisplay(Dpy, Scr)));
else if (bgstyle == "tile")
bg->Tile(viewport.width, viewport.height);
else if (bgstyle == "center") {
string hexvalue = cfg->getOption("background_color");
hexvalue = hexvalue.substr(1,6);
bg->Center(viewport.width,
viewport.height,
hexvalue.c_str());
} else { // plain color or error
string hexvalue = cfg->getOption("background_color");
hexvalue = hexvalue.substr(1,6);
bg->Center(viewport.width,
viewport.height,
hexvalue.c_str());
}
} else {
if (bgstyle == "stretch") {
bg->Resize(XWidthOfScreen(ScreenOfDisplay(Dpy, Scr)),
XHeightOfScreen(ScreenOfDisplay(Dpy, Scr)));
} else if (bgstyle == "tile") {
bg->Tile(XWidthOfScreen(ScreenOfDisplay(Dpy, Scr)),
XHeightOfScreen(ScreenOfDisplay(Dpy, Scr)));
} else if (bgstyle == "center") {
string hexvalue = cfg->getOption("background_color");
hexvalue = hexvalue.substr(1,6);
bg->Center(XWidthOfScreen(ScreenOfDisplay(Dpy, Scr)),
XHeightOfScreen(ScreenOfDisplay(Dpy, Scr)),
hexvalue.c_str());
} else { /* plain color or error */
string hexvalue = cfg->getOption("background_color");
hexvalue = hexvalue.substr(1,6);
bg->Center(XWidthOfScreen(ScreenOfDisplay(Dpy, Scr)),
XHeightOfScreen(ScreenOfDisplay(Dpy, Scr)),
hexvalue.c_str());
}
}
string cfgX = cfg->getOption("input_panel_x");
示例6: XftColorAllocName
Panel::Panel(gi_window_id_t root, Cfg* config,
const string& themedir) {
// Set display
//Dpy = dpy;
//Scr = scr;
Root = root;
cfg = config;
session = "";
// Init GC
//XGCValues gcv;
//unsigned long gcm;
// gcm = GCForeground|GCBackground|GCGraphicsExposures;
//gcv.foreground = GetColor("black");
//gcv.background = GetColor("white");
//gcv.graphics_exposures = FALSE;
//RootGC = gi_create_gc( Root, gcm, &gcv);
RootGC = gi_create_gc( Root, NULL);
font = gi_create_ufont( cfg->getOption("input_font").c_str());
welcomefont = gi_create_ufont( cfg->getOption("welcome_font").c_str());
introfont = gi_create_ufont( cfg->getOption("intro_font").c_str());
enterfont = gi_create_ufont( cfg->getOption("username_font").c_str());
msgfont = gi_create_ufont( cfg->getOption("msg_font").c_str());
//Visual* visual = DefaultVisual( Scr);
//Colormap colormap = DefaultColormap( Scr);
// NOTE: using XftColorAllocValue() would be a better solution. Lazy me.
XftColorAllocName( cfg->getOption("input_color").c_str(), &inputcolor);
XftColorAllocName( cfg->getOption("input_shadow_color").c_str(), &inputshadowcolor);
XftColorAllocName( cfg->getOption("welcome_color").c_str(), &welcomecolor);
XftColorAllocName( cfg->getOption("welcome_shadow_color").c_str(), &welcomeshadowcolor);
XftColorAllocName( cfg->getOption("username_color").c_str(), &entercolor);
XftColorAllocName( cfg->getOption("username_shadow_color").c_str(), &entershadowcolor);
XftColorAllocName( cfg->getOption("msg_color").c_str(), &msgcolor);
XftColorAllocName( cfg->getOption("msg_shadow_color").c_str(), &msgshadowcolor);
XftColorAllocName( cfg->getOption("intro_color").c_str(), &introcolor);
XftColorAllocName( cfg->getOption("session_color").c_str(), &sessioncolor);
XftColorAllocName( cfg->getOption("session_shadow_color").c_str(), &sessionshadowcolor);
// Load properties from config / theme
input_name_x = Cfg::string2int(cfg->getOption("input_name_x").c_str());
input_name_y = Cfg::string2int(cfg->getOption("input_name_y").c_str());
input_pass_x = Cfg::string2int(cfg->getOption("input_pass_x").c_str());
input_pass_y = Cfg::string2int(cfg->getOption("input_pass_y").c_str());
inputShadowXOffset =
Cfg::string2int(cfg->getOption("input_shadow_xoffset").c_str());
inputShadowYOffset =
Cfg::string2int(cfg->getOption("input_shadow_yoffset").c_str());
if (input_pass_x < 0 || input_pass_y < 0){ // single inputbox mode
input_pass_x = input_name_x;
input_pass_y = input_name_y;
}
// Load panel and background image
string panelpng = "";
panelpng = panelpng + themedir +"/panel.png";
image = new Image;
bool loaded = image->Read(panelpng.c_str());
if (!loaded) { // try jpeg if png failed
panelpng = themedir + "/panel.jpg";
loaded = image->Read(panelpng.c_str());
if (!loaded) {
cerr << APPNAME
<< ": could not load panel image for theme '"
<< basename((char*)themedir.c_str()) << "'"
<< endl;
FAULT(ERR_EXIT);
}
}
Image* bg = new Image();
string bgstyle = cfg->getOption("background_style");
if (bgstyle != "color") {
panelpng = themedir +"/background.png";
loaded = bg->Read(panelpng.c_str());
if (!loaded) { // try jpeg if png failed
panelpng = themedir + "/background.jpg";
loaded = bg->Read(panelpng.c_str());
if (!loaded){
cerr << APPNAME
<< ": could not load background image for theme '"
<< basename((char*)themedir.c_str()) << "'"
<< endl;
FAULT(ERR_EXIT);
}
}
}
if (bgstyle == "stretch") {
bg->Resize(gi_screen_width(), gi_screen_height());
} else if (bgstyle == "tile") {
bg->Tile(gi_screen_width(), gi_screen_height());
} else if (bgstyle == "center") {
string hexvalue = cfg->getOption("background_color");
hexvalue = hexvalue.substr(1,6);
bg->Center(gi_screen_width(),
gi_screen_height(),
hexvalue.c_str());
//.........这里部分代码省略.........