Example #1
0
HRESULT CResizableImage::Create(LPPICTURE &pImage, const LPSIZE pRealSize)
{
	_ASSERTE(m_pImage==NULL);

	HRESULT hr	=	S_OK;
	
	if(pImage!=NULL)
		hr = pImage->QueryInterface(IID_IPicture,(void**)&m_pImage);

	if(SUCCEEDED(hr))
	{
		m_pImage->get_Width(&m_ImageSize.cx);
		m_pImage->get_Height(&m_ImageSize.cy);
		if(pRealSize)
		{
			memcpy(&m_RealSize,pRealSize,sizeof(SIZE));
			//PixelToHiMetric(&m_RealSize,&m_RealSize);
		}
		else 
		{
			m_pImage->get_Width(&m_RealSize.cx);
			m_pImage->get_Height(&m_RealSize.cy);
			HiMetricToPixel(&m_RealSize,&m_RealSize);
		}
		
	}
	
	return hr;
}
Example #2
0
BOOL CPictureObj::Create(IStream *pStream, long x, long y, long cx, long cy)
{
	ASSERT(pStream != NULL);
	ASSERT(m_pPicture == NULL);
	
	BOOL bResult = FALSE;
	LPPICTURE pic = NULL;
	HRESULT hr = ::OleLoadPicture(pStream, 0, TRUE, IID_IPicture, (void**)&pic);
	if(SUCCEEDED(hr) && pic != NULL)
	{
		m_pPicture = new CResizableImage;
		m_pPicture->Create(pic);
		
		this->x = x;
		this->y = y;
		if(cx > 0 && cy > 0)
		{
			this->cx = cx;
			this->cy = cy;
		}
		else
		{
			pic->get_Width(&m_RealSize.cx);
			pic->get_Height(&m_RealSize.cy);
			HiMetricToPixel(&m_RealSize, &m_RealSize);
			this->cx = m_RealSize.cx;
			this->cy = m_RealSize.cy;
		}

		pic->Release();

		bResult = TRUE;
	}
	return bResult;
}
Example #3
0
HRESULT ISmileyBase::SetExtent(DWORD dwDrawAspect, SIZEL* psizel)
{ 
	if (dwDrawAspect != DVASPECT_CONTENT) return E_FAIL;
	if (psizel == NULL) return E_POINTER;

	HiMetricToPixel(psizel, &m_sizeExtent);
	m_sizeExtentHiM = *psizel;
	return S_OK;
}