当前位置: 首页>>代码示例>>C++>>正文


C++ ImageWindow::getImageName方法代码示例

本文整理汇总了C++中ImageWindow::getImageName方法的典型用法代码示例。如果您正苦于以下问题:C++ ImageWindow::getImageName方法的具体用法?C++ ImageWindow::getImageName怎么用?C++ ImageWindow::getImageName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ImageWindow的用法示例。


在下文中一共展示了ImageWindow::getImageName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: interpret

bool interpret(string cmd, vector<string> args){
    if(cmd == "help"){
        if(args.size()==0){
            cout << "Current commands:" << endl;
            for(auto it:help)
                cout << " -" << it.first << endl;
        }else if(args.size()==1){
            auto it = help.find(args[0]);
            if(it!=help.end())
                cout << it->second << endl;
            else
                cout << "Unknown command" << endl;
        }else{
            cout << help[cmd] << endl;
        }
    }else if(cmd == "exit"){
        running = false;
    }else if(cmd == "show"){
        if(args.size()!=1){
            cout << help[cmd] << endl;
        }else{
            if(args[0]=="windows"){
                cout << "Windows(Image): " << windows.size() << endl;
                for(auto it:windows)
                    cout << " -" << it.first << "(" << it.second->getImageName() << ")" << endl;
            }else if(args[0]=="images"){
                cout << "Images: " << images.size() << endl;
                for(auto it:images)
                    cout << " -" << it.first << endl;
            }else if(args[0]=="options"){
                cout << "Options: " << options.size() << endl;
                for(const string& opt:options)
                    cout << " -" << opt << endl;
            }else if(args[0]=="imageInfo"){
                if(bindedImage==""){
                    cout << "Not image binded" << endl;
                }else{
                    auto it = images[bindedImage];
                    Image* img = it->lock();
                    if(!img->isValid()){
                        cout << "Uninitialized or invalid image" << endl;
                    }else{
                        cout << "Image information:" << endl
                             << "-Width: " << img->getX() << endl
                             << "-Height: " << img->getY() << endl;
                    }
                    it->unlock();
                }
            }else{
                cout << help[cmd] << endl;
            }
        }
    }else if(cmd == "open"){
        if(args.size()!=1 || args[0].size()<4){
            cout << help[cmd] << endl;
        }else{
            if(bindedImage==""){
                cout << "Not image binded" << endl;
            }else if((args[0].substr(args[0].size()-4,4)==".pbm" && !images[bindedImage]->call<bool>([](Image*& image, void* data)->bool{return image->loadFromPBM(*(string*)data);}, &args[0]))
            || (args[0].substr(args[0].size()-4,4)==".bmp" && !images[bindedImage]->call<bool>([](Image*& image, void* data)->bool{return image->loadFromBMP(*(string*)data);}, &args[0]))){
                cout << "Couldn't open file..." << endl;
            }else{
                cout << "Image loaded.\n-Width: " << images[bindedImage]->getX() << "\n-Height: " << images[bindedImage]->getY() << endl;
            }
        }
    }else if(cmd == "save"){
        if(args.size()!=1 || args[0].size()<4){
            cout << help[cmd] << endl;
        }else{
            if(bindedImage==""){
                cout << "Not image binded" << endl;
            }else if(!images[bindedImage]->call<bool>([](Image*& image, void* data)->bool{return image->saveToBMP(*(string*)data);}, &args[0])){
                cout << "Couldn't save file..." << endl;
            }
        }
    }else if(cmd == "saveascii"){
        if(args.size()!=1 || args[0].size()<4){
            cout << help[cmd] << endl;
        }else{
            if(bindedImage==""){
                cout << "Not image binded" << endl;
            }else if(!images[bindedImage]->call<bool>([](Image*& image, void* data)->bool{return image->saveToAsciiArt(*(string*)data);}, &args[0])){
                cout << "Couldn't save file..." << endl;
            }
        }
    }else if(cmd == "bind"){
        if(args.size()!=2){
            cout << help[cmd] << endl;
        }else{
            if(args[0]=="window"){
                if(windows.find(args[1])!=windows.end())
                    bindedWindow = args[1];
                else
                    cout << "Inexistent window" << endl;
            }else if(args[0]=="image"){
                if(images.find(args[1])!=images.end())
                    bindedImage = args[1];
                else
                    cout << "Inexistent image" << endl;
            }else{
//.........这里部分代码省略.........
开发者ID:ivancea,项目名称:ImageEditor,代码行数:101,代码来源:main.cpp


注:本文中的ImageWindow::getImageName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。