Exemplo n.º 1
0
std::string PDFImageObject::ObjectEntry()
{
//	if ( !ImageLen() )
//		buffer = ObjectHeader();
	buffer +=  "<<\r";
	buffer += "/Type /XObject\r";
	buffer += "/Subtype /Image\r";
	buffer += "/Name /";
	buffer += GetImageName();
	buffer += "\r";
	buffer += "/Width ";
	buffer += GetWidth();
	buffer += "\r";
	buffer += "/Height ";
	buffer += GetHeight();
	buffer += "\r";
	buffer += "/BitsPerComponent ";
	buffer += GetBitsPerComponent();
	buffer += "\r";

	buffer += "/ColorSpace ";
//	buffer += GetColorSpace();
//	buffer += "\r";
	buffer += GetColorSpaceObjIdStr();

	if ( !GetFilter().empty() ) 
	{
		buffer += "/Filter ";
		buffer += GetFilter();
		buffer += "\r";
	}

	buffer += "/Length ";
	if ( !ImageLen() )
		buffer += intToStr( imageData.length() );
	else
		buffer += intToStr( imageLen );
	buffer += "\r";

	buffer += ">>\r";
	buffer += "stream\r";
	if ( !ImageLen() )
	{
		buffer += imageData;
		buffer += "\r% Trev2\rendstream\r";
	}
	AddContents( buffer );
	if ( !ImageLen() )
		return PDFBodyObject::ObjectEntry();
	else
		return GetContents();
}
Exemplo n.º 2
0
//============================================================================
//		NCGImage::GetObject : Get the object.
//----------------------------------------------------------------------------
NCFObject NCGImage::GetObject(bool cloneData) const
{	NCFObject			cgDataProvider, theObject;
	CGBitmapInfo		bitmapInfo;
	NCFData				theData;



	// Get the state we need
	bitmapInfo = GetBitmapInfo(GetFormat());
	theData    = GetData();



	// Prepare the data
	if (cloneData)
		cgDataProvider.SetObject(CGDataProviderCreateWithCFData(theData.GetObject()));
	else
		cgDataProvider.SetObject(CGDataProviderCreateWithData(NULL, theData.GetData(), theData.GetSize(), NULL));

	if (!cgDataProvider.IsValid())
		return(theObject);



	// Get the object
	theObject.SetObject(CGImageCreate(	GetWidth(),
										GetHeight(),
										GetBitsPerComponent(),
										GetBitsPerPixel(),
										GetBytesPerRow(),
										NCGColor::GetDeviceRGB(),
										bitmapInfo, cgDataProvider,
										NULL, false, kCGRenderingIntentDefault));

	return(theObject);
}