Пример #1
0
SliderComponent *SkinV2::VolumeSlider() {
    SliderComponent *slider = new SliderComponent;
    slider->background = LoadImg(_skinDir + L"\\Control\\back.png");
    slider->mask = LoadImg(_skinDir + L"\\Control\\glassMask.png");
    slider->knob = CreateKnob();

    return slider;
}
Пример #2
0
int main(void)
{
    GLFWwindow* window;
    
    /* Initialize the library */
    if (!glfwInit())
        return -1;
    
    //使用OpenGL 3.2
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
    
    /* Create a windowed mode window and its OpenGL context */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    /* Make the window's context current */
    glfwMakeContextCurrent(window);
    
    if(false==LoadImg("/Users/wistoneqqx/Documents/opengl/github/texture-maps-gl7/texture-maps/test01.jpg",0))
        printf("加载图片1失败!\n");
    
    if(false==LoadImg("/Users/wistoneqqx/Documents/opengl/github/texture-maps-gl7/texture-maps/test02.jpg",1))
        printf("加载图片2失败!\n");
    
    initShader();
    initTriangle();
    
    /* Loop until the user closes the window */
    while (!glfwWindowShouldClose(window))
    {
        /* Render here */
        
        glClearColor(0.0f,0.0f,0.0f,0.0f);
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        
        drawTriangle();
        
        /* Swap front and back buffers */
        glfwSwapBuffers(window);
        
        /* Poll for and process events */
        glfwPollEvents();
    }
    
    glfwDestroyWindow(window);
    glfwTerminate();
    return 0;
}
Пример #3
0
XMapLayerImage::XMapLayerImage( XMap *pMap, LPCTSTR szImg, int wLayer, int hLayer )
    : XMapLayer( pMap, xTYPE_IMAGE )
{
    Init();
    LoadImg( szImg );
    m_wSize = wLayer;
    m_hSize = hLayer;
    m_DrawType = xNORMAL;
}
Пример #4
0
	void LoadGLTextures(char* name , GLuint *texture) {
		if(!LoadImg(name))
			exit(0);	
	    glGenTextures(1, texture);
	    glBindTexture(GL_TEXTURE_2D, texture[0]); 
		glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST); 
		glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);
		glTexImage2D(GL_TEXTURE_2D, 0, 4, sizeX, sizeY, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
		//free(data);
	}
Пример #5
0
void LapalicanClass::Run()
{
	LoadImg();
	buildLaplacianPyramid(backgroundImg, bgLapPyr);
	buildLaplacianPyramid(foregroundImg, fgLapPyr);
	buildGaussianPyramid(foregroundImg, fgGauPyramid);
	buildGaussianPyramid(fgMask, maskGauPyramid);
	buildGaussianPyramid(backgroundImg, bgGauPyramid);
	
	blendInEachLevel();
	reconstructImg();
	
}
Пример #6
0
/*  メイン文 */
int main( )
{
    /* 変数の定義 */
    unsigned char   *im0, *im1, *im2, *im3;
    long    size;
    FILE    *fp;
    /* 画像サイズ(横*縦) */
    size = 320 * 240;
    /* 画像のメモリ 確保*/
    im0 = (unsigned char *)malloc(size);
    im1 = (unsigned char *)malloc(size);
    im2 = (unsigned char *)malloc(size);
    im3 = (unsigned char *)malloc(size);
    /* 画像の取得 */
    LoadImg(im0, size, "0.raw");
    LoadImg(im1, size, "1.raw");
    LoadImg(im2, size, "2.raw");
    LoadImg(im3, size, "3.raw");
    /* 位相分布画像の作成 */
    PhaseImg(im0, im1, im2, im3, size);
    printf("Success!\n");
    return 0;
}
Пример #7
0
CChildView::CChildView(CMainFrame* pMainFrame)
    : m_vrect(0, 0, 0, 0)
    , CMouseWnd(pMainFrame)
    , m_pMainFrame(pMainFrame)
    , m_bSwitchingFullscreen(false)
    , m_bFirstMedia(true)
{
    LoadImg();
    GetEventd().Connect(m_eventc, {
        MpcEvent::SWITCHING_TO_FULLSCREEN,
        MpcEvent::SWITCHED_TO_FULLSCREEN,
        MpcEvent::SWITCHING_FROM_FULLSCREEN,
        MpcEvent::SWITCHED_FROM_FULLSCREEN,
        MpcEvent::MEDIA_LOADED,
    }, std::bind(&CChildView::EventCallback, this, std::placeholders::_1));
}
Пример #8
0
void XMapLayerImage::Load( XResFile *pRes, LPCTSTR szPath )
{
    int size;
    pRes->Read( &size, 4 );
    UNICHAR szBuff[ 32 ];
    pRes->Read( szBuff, size );
#ifdef WIN32
    _tcscpy_s( m_szFilename, szBuff );
#else
    strcpy_s( m_szFilename, _ConvertUTF16ToUTF8( szBuff ) );
#endif
    DWORD dw;
    pRes->Read( &dw, 4 );
    m_DrawType = (xtType)dw;
    pRes->Read( &m_wSize, 4 );
    pRes->Read( &m_hSize, 4 );
    //
    TCHAR szFullPath[ 1024 ];
    _tcscpy_s( szFullPath, XE::Format( _T("%s%s"), szPath, m_szFilename ) );
    LoadImg( szFullPath );
}
Пример #9
0
/* ***Normale Grafik laden und ins aktuelle Format wandeln*** */
int loadpic(char *pname, MFDB *destfdb)
{
 MFDB loadfdb;
 char alerttxt[64];

 if( LoadImg(pname, &loadfdb) )
  {
   strcpy(alerttxt, "[3][Could not load|<");
   strcat(alerttxt, pname);
   strcat(alerttxt, ">][Cancel]");
   form_alert(1, alerttxt);
   return(-1);
  }
 destfdb->fd_w=loadfdb.fd_w;	destfdb->fd_h=loadfdb.fd_h;
 destfdb->fd_wdwidth=loadfdb.fd_wdwidth;
 destfdb->fd_stand=0;
 destfdb->fd_nplanes=bipp;
 destfdb->fd_addr=(void *)Malloc((long)destfdb->fd_w*destfdb->fd_h*bipp/8);
 if(destfdb->fd_addr<=0L)  return((int)destfdb->fd_addr);
 vr_trnfm(vhndl, &loadfdb, destfdb);	/* Ins aktuelle Format wandeln */
 Mfree(loadfdb.fd_addr);

 return(0);
}
Пример #10
0
SDL_Surface *LoadSvg(char *fname, int hor_width, int hor_height, bool rot, bool cache)
{
    SDL_Surface *res = NULL;
    bool skip = false;

    rsvg_init();

    GError *error = NULL;
    RsvgHandle *rsvg_handle = rsvg_handle_new_from_file(fname, &error);
    if (!rsvg_handle)
    {
        log_error("can't load vector image `%s'", fname);
        LoadImgErrors++;
        skip = true;
    }

    if (!skip)
    {
        RsvgDimensionData dimensions;
        rsvg_handle_get_dimensions(rsvg_handle, &dimensions);
        int svg_width = dimensions.width;
        int svg_height = dimensions.height;

        float svg_koef = (float)svg_width / svg_height;
        float hor_koef = (float)hor_width / hor_height;
        float scale = (svg_koef > hor_koef ? (float)hor_height / svg_height : (float)hor_width / svg_width);

        int scaled_width = (int)(svg_width * scale);
        int scaled_height = (int)(svg_height * scale);

        int res_width = (rot ? hor_height : hor_width);
        int res_height = (rot ? hor_width : hor_height);

        bool loaded_from_cache = false;
        char *cached_file_full = NULL;
        char *file = NULL;
        char *file_hash = NULL;
        if (cache && can_cache)
        {
            int mod_time = 0;
            struct stat st;
            if (stat(fname, &st) == 0)
                mod_time = st.st_mtime;

            char *last_slash_ptr = strrchr(fname, '/');
            file = (last_slash_ptr ? last_slash_ptr + 1 : fname);
            int max_overhead = 64;
            cached_file_full = (char*)malloc(strlen(cache_dir_full) + strlen("/") + strlen(file) + max_overhead + 1);
            file_hash = (char*)malloc(strlen(file) + max_overhead + 1);

            char *state = (rot ? "rotated" : "normal");
            sprintf(cached_file_full, "%s/%s_%x-%dx%d-%s.png", cache_dir_full, file, mod_time, res_width, res_height, state);
            sprintf(file_hash, "%s_%x", file, mod_time);

            res = LoadImg(cached_file_full, false);
            if (res)
            {
                log_info("vector image `%s' was loaded from cache `%s'", fname, cached_file_full);
                loaded_from_cache = true;
            }
        }

        if (!loaded_from_cache)
        {
            int stride = res_width * 4; /* 4 bytes/pixel (32bpp RGBA) */
            void *image = calloc(stride * res_height, 1);
            cairo_surface_t *cairo_surf = cairo_image_surface_create_for_data(
                                              image, CAIRO_FORMAT_ARGB32,
                                              res_width, res_height, stride);
            cairo_t *cr = cairo_create(cairo_surf);

            if (rot)
            {
                cairo_translate(cr, -(scaled_height-res_width)/2, res_height+(scaled_width-res_height)/2);
                cairo_scale(cr, scale, scale);
                cairo_rotate(cr, -M_PI/2);
            }
            else
            {
                cairo_translate(cr, -(scaled_width-res_width)/2, -(scaled_height-res_height)/2);
                cairo_scale(cr, scale, scale);
            }

            rsvg_handle_render_cairo(rsvg_handle, cr);

            cairo_surface_finish(cairo_surf);
            cairo_destroy(cr);

            uint32_t rmask = 0x00ff0000;
            uint32_t gmask = 0x0000ff00;
            uint32_t bmask = 0x000000ff;
            uint32_t amask = 0xff000000;
            //Notice that it matches CAIRO_FORMAT_ARGB32
            res = SDL_CreateRGBSurfaceFrom(
                      (void*) image,
                      res_width, res_height,
                      32, //4 bytes/pixel = 32bpp
                      stride,
                      rmask, gmask, bmask, amask);
        }

        if (cache && can_cache)
        {
            if (!loaded_from_cache && res)
            {
                if (TouchDir(save_dir_full) && TouchDir(cache_dir_full))
                {
                    ClearCache(file, file_hash);
                    if (IMG_SavePNG(res, cached_file_full) == 0)
                        log_info("vector image `%s' was cached to `%s'", fname, cached_file_full);
                    else
                        log_error("can't cache vector image `%s' to `%s'", fname, cached_file_full);
                }
                else
                    can_cache = false;
            }
            free(cached_file_full);
            free(file_hash);
        }
    }

    rsvg_term();

    return res;
}
Пример #11
0
MriWatcherGUI::MriWatcherGUI(QWidget *parent)
{
  setupUi(this);
  installEventFilter(this);
  setAcceptDrops(true);

  connect(g_loadimg, SIGNAL( clicked() ), this, SLOT( LoadImg() ) );
  connect(g_loadoverlay, SIGNAL( clicked() ), this, SLOT( LoadOverlay() ) );
  connect(g_loadimg2, SIGNAL( clicked() ), this, SLOT( LoadImg2() ) );
  connect(g_reset_view, SIGNAL( clicked() ), this, SLOT( ResetView() ) );
  connect(g_screenshot, SIGNAL( clicked() ), this, SLOT( ScreenShot() ) );
  connect(g_combine, SIGNAL( clicked() ), this, SLOT( Combine() ) );
  connect(g_help, SIGNAL( clicked() ), this, SLOT( Help() ) );
  connect(g_xview, SIGNAL( toggled(bool) ), this, SLOT( ChangeView() ) );
  connect(g_yview, SIGNAL( toggled(bool) ), this, SLOT( ChangeView() ) );
  connect(g_zview, SIGNAL( toggled(bool) ), this, SLOT( ChangeView() ) );
  connect(g_slice_slider, SIGNAL( sliderMoved(int) ), this, SLOT( ChangeSlice(int) ) );
//    connect(g_slice_slider, SIGNAL( valueChanged(int) ), this, SLOT( ChangeSlice(int) ));
  connect(g_overlay_alpha_slider, SIGNAL( valueChanged(int) ), this, SLOT( ChangeOverlayAlpha(int) ) );
  connect(g_draw_name, SIGNAL( stateChanged(int) ), this, SLOT( DrawImageName(int) ) );
  connect(g_draw_info, SIGNAL( stateChanged(int) ), this, SLOT( DrawImageInfo(int) ) );
  connect(g_draw_position, SIGNAL( stateChanged(int) ), this, SLOT( DrawImagePosition(int) ) );
  connect(g_draw_intensity, SIGNAL( stateChanged(int) ), this, SLOT( DrawImageIntensity(int) ) );
  connect(g_overlayzero, SIGNAL( stateChanged(int) ), this, SLOT( ChangeOverlayZero() ) );
  connect(g_intensity_min_slider, SIGNAL( valueChanged(int) ), this, SLOT( ChangeIntensityMin(int) ) );
  connect(g_intensity_max_slider, SIGNAL( valueChanged(int) ), this, SLOT( ChangeIntensityMax(int) ) );
  connect(g_blending_mode, SIGNAL( stateChanged(int) ), this, SLOT( SetBlendingMode() ) );
  connect(g_alpha, SIGNAL( valueChanged(int) ), this, SLOT( ChangeImageAlpha(int) ) );
  connect(g_viewall, SIGNAL( toggled(bool) ), this, SLOT( ViewOptions() ) );
  connect(g_viewcolumn, SIGNAL( toggled(bool) ), this, SLOT( ViewOptions() ) );
  // connect(g_nbcolumn, SIGNAL( returnPressed() ), this, SLOT( ViewOptions() ) );
  connect(g_nbcolumn, SIGNAL( valueChanged(int) ), this, SLOT( ChangeColumn() ));
  connect(g_overlaymin, SIGNAL( returnPressed() ), this, SLOT( ChangeOverlayMinMax() ) );
  connect(g_overlaymax, SIGNAL( returnPressed() ), this, SLOT( ChangeOverlayMinMax() ) );

  m_direction = 0;
  m_numberofimages = 0;
  m_maxsize[0] = 0;
  m_maxsize[1] = 0;
  m_maxsize[2] = 0;
  m_imagemin = 999999;
  m_imagemax = 0;
  m_keyalt = false;
  m_keyctrl = false;   // multiselection
  m_overlaymin = 0;
  m_overlaymax = 0;
  m_imagemanager.ChangeAlpha(100);

  g_slice_slider->setEnabled(false);
  g_overlay_alpha_slider->setEnabled(false);

  g_intensity_min_slider->setMinimum(0);
  g_intensity_max_slider->setMinimum(0);
  g_intensity_min_slider->setMaximum(static_cast<int>(MAX_PERCENTAGE) );
  g_intensity_max_slider->setMaximum(static_cast<int>(MAX_PERCENTAGE) );
  g_intensity_min_slider->setValue(0);
  g_intensity_max_slider->setValue(static_cast<int>(MAX_PERCENTAGE) );

  m_frame = new MriWatcherFrame(g_scrollArea);

  connect(m_frame, SIGNAL( UnSelectAll() ), this, SLOT( UnSelectAll() ) );
  connect(m_frame, SIGNAL( GetFiles(const QString &) ), this, SLOT( LoadFile(const QString &) ) );
  //   m_imageframelayout = new ImageFrameLayout();
  //   QBoxLayout* gm = new QVBoxLayout(m_frame);
  m_imageframelayout = new ImageFrameLayout();
//    g_scrollArea->setLayout(m_imageframelayout);
  g_scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
  g_scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
  // g_scrollArea->verticalScrollBar()->setRange();
  g_scrollArea->setWidget(m_frame);
  m_frame->setLayout(m_imageframelayout);

  g_name_version->setText(QString("MriWatcher") + "  " + MriWatcher_VERSION);
  g_tips->setText(
    "\nQuick Tips:\n- Left mouse drag: Move image\n- Right mouse drag: Zoom in/out\n- Middle mouse: Pick one voxel\n- Control + mouse: Pick images\n- Shift + mouse: Global operatation\n- Left or right key: Switch order\n- Delete key: Remove image");
/*
     imageLabel = new QLabel;
     imageLabel->setBackgroundRole(QPalette::Base);
     imageLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
     imageLabel->setScaledContents(true);

     g_scrollArea->setBackgroundRole(QPalette::Dark);
     g_scrollArea->setWidget(imageLabel);
     */
}
Пример #12
0
void Model::Load_Img(){
   this->Texture = LoadImg( this->ImgPathFile.c_str() );
   this->TextureSpecular = LoadImg( this->ImgSpecPathFile.c_str() );
}
Пример #13
0
OSDComponent *SkinV2::VolumeOSD() {
    OSDComponent *volume = new OSDComponent;

    /* Images */
    volume->background = LoadImg(_skinDir + L"\\OSD\\back.png");
    volume->mask = LoadImg(_skinDir + L"\\OSD\\glassMask.png");

    /* Sound */
    std::wstring soundName = _skinDir + L"\\sound.wav";
    SoundPlayer *player = new SoundPlayer(soundName);
    if (player->Ready() == false) {
        delete player;
        player = NULL;
    }
    volume->sound = player;

    /* Determine the number of units */
    int units = 10;
    tinyxml2::XMLElement *meterMax = SubElement("osd", "meterMax");
    if (meterMax) {
        meterMax->QueryIntText(&units);
    }
    volume->defaultUnits = units;

    /* Load the meter(s) */
    const char *type = nullptr;
    tinyxml2::XMLElement *meterOrientation
        = SubElement("osd", "meterOrientation");
    if (meterOrientation) {
        type = meterOrientation->GetText();
    }
    int x = 0;
    int y = 0;
    tinyxml2::XMLElement *pos = SubElement("osd", "meterPosition");
    if (pos) {
        tinyxml2::XMLElement *xelem = pos->FirstChildElement("X");
        tinyxml2::XMLElement *yelem = pos->FirstChildElement("Y");
        if (xelem) {
            xelem->QueryIntText(&x);
        }
        if (yelem) {
            yelem->QueryIntText(&y);
        }
    }

    std::wstring meterImg = _skinDir + L"\\OSD\\meter.png";
    std::string meterType(type);
    if (meterType == "vertical") {
        volume->meters.push_back(
            new VerticalBar(meterImg, x, y, units));
    } else if (meterType == "bitstrip") {
        /* For some reason, the number of units in v2 for bit strips was
         * (meterMax + 1), so we update the number of units here. */
        volume->meters.push_back(
            new Bitstrip(meterImg, x, y, units + 1));
    } else {
        /* Horizontal meter is the default */
        volume->meters.push_back(
            new HorizontalBar(meterImg, x, y, units));
    }

    tinyxml2::XMLElement *drawText = SubElement("osd", "drawPercentage");
    if (drawText) {
        bool textEnabled = false;
        drawText->QueryBoolText(&textEnabled);
        if (textEnabled) {
            Text *t = CreateText(volume->background);
            if (t) {
                volume->meters.push_back(t);
            }
        }
    }

    return volume;
}
Пример #14
0
OSDComponent *SkinV2::EjectOSD() {
    OSDComponent *eject = new OSDComponent;
    eject->background = LoadImg(_skinDir + L"\\OSD\\eject.png");
    eject->mask = LoadImg(_skinDir + L"\\OSD\\glassMask.png");
    return eject;
}
Пример #15
0
OSDComponent *SkinV2::MuteOSD() {
    OSDComponent *mute = new OSDComponent;
    mute->background = LoadImg(_skinDir + L"\\OSD\\mute.png");
    mute->mask = LoadImg(_skinDir + L"\\OSD\\glassMask.png");
    return mute;
}
Пример #16
0
// Called before the first frame
bool j1Scene::Start()
{
    LoadImg("data/textures/test.png");
    LoadMusic("data/audio/music/music_sadpiano.ogg");
    return true;
}