Ejemplo n.º 1
0
HBITMAP TextureControl::GetBlankBitmap(HDC destDC) {
	if(namedBitmaps.find("Blank") != namedBitmaps.end()) 
		return namedBitmaps["Blank"];
	ILuint img = getImageHandle();
	ilDefaultImage();
	iluImageParameter(ILU_FILTER, ILU_BILINEAR);
	iluScale(126,126,1);
	namedBitmaps["Blank"] = ilutConvertToHBitmap(destDC);
	ilDeleteImage(img);
	return namedBitmaps["Blank"];
}
Ejemplo n.º 2
0
void LoadImages(char *FileName)
{
    ILuint Image, i;

    hDC = GetDC(HWnd);
    hMemDC = CreateCompatibleDC(hDC);

    ilGenImages(1, &Image);
    ilBindImage(Image);
    if (!ilLoadImage(FileName)) {
        ilDeleteImages(1, &Image);
        return;
    }

    ilEnable(IL_ORIGIN_SET);
    ilEnable(IL_FORMAT_SET);
    ilOriginFunc(IL_ORIGIN_LOWER_LEFT);
    //ilFormatFunc(IL_BGRA);
    ilConvertImage(IL_BGR, IL_UNSIGNED_BYTE);
    ilutRenderer(ILUT_WIN32);

    CurImage = 0;
    NumImages = ilGetInteger(IL_NUM_IMAGES) + 1;
    Bitmaps = new HBITMAP[NumImages];
    BmpInfo = new BITMAPINFOHEADER[NumImages];
    Durations = new ILuint[NumImages];
    if (Bitmaps == NULL || BmpInfo == NULL || Durations == NULL) {
        ilDeleteImages(1, &Image);
        return;
    }

    for (i = 0; i < NumImages; i++) {
        ilActiveImage(0);
        ilActiveImage(i);
        Durations[i] = ilGetInteger(IL_IMAGE_DURATION);
        *(Bitmaps + i) = ilutConvertToHBitmap(hDC);
        ilutGetBmpInfo((BITMAPINFO*)(BmpInfo + i));
    }

    SelectObject(hMemDC, Bitmaps[0]);

    ilDeleteImages(1, &Image);

    sprintf(NewTitle, "%s - %s", TITLE, FileName);
    SetWindowText(HWnd, NewTitle);

    QueryPerformanceFrequency((LARGE_INTEGER*)&TimerFreq);
    TimerRes = 1.0 / TimerFreq;
    QueryPerformanceCounter((LARGE_INTEGER*)&StartTime);

    return;
}
Ejemplo n.º 3
0
HBITMAP TextureControl::GetBitmap(string name, HDC destDC, bool refresh, unsigned int w, unsigned int h) {
	if(refresh == false && namedBitmaps.find(name) != namedBitmaps.end())
		return namedBitmaps[name];
	// else bitmap doesn't exist.
	if(namedImages.find(name) == namedImages.end())
		return NULL;	//img not loaded

	ILuint tmp = getImageHandle();
	ilCopyImage(namedImages[name]);	
	iluImageParameter(ILU_FILTER, ILU_SCALE_BSPLINE);
	iluScale(w,h,1);

	if(alphaMatte) 
		ilEnable(IL_BMP_MATTEALPHAB);
	else
		ilEnable(IL_BMP_MATTEALPHA);
	namedBitmaps[name] = ilutConvertToHBitmap(destDC);

	ilDeleteImage(tmp);

	return namedBitmaps[name];
}
Ejemplo n.º 4
0
void CreateGDI()
{
	ILuint CopyName, CurName, CurImg, CurMip;

	hDC = GetDC(HWnd);
	hMemDC = CreateCompatibleDC(hDC);
	CurName = ilGetInteger(IL_CUR_IMAGE);
	CurImg = ilGetInteger(IL_ACTIVE_IMAGE);
	CurMip = ilGetInteger(IL_ACTIVE_MIPMAP);
	CopyName = ilCloneCurImage();
	ilBindImage(CopyName);
	//ilConvertImage(IL_BGR, IL_UNSIGNED_BYTE);
	hBitmap = ilutConvertToHBitmap(hDC);
	ilutGetBmpInfo((BITMAPINFO*)&BmpInfo);
	DeleteObject(SelectObject(hMemDC, hBitmap));
	ilBindImage(CurName);
	if (CurImg)
		ilActiveImage(CurImg);//ilBindImage(Undos[0]);
	if (CurMip)
		ilActiveMipmap(CurMip);
	ilDeleteImages(1, &CopyName);

	return;
}
Ejemplo n.º 5
0
HBITMAP ilWin32::Convert(ilImage &Image)
{
	Image.Bind();
	return ilutConvertToHBitmap(GetDC(NULL));
}