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(); }
//============================================================================ // 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); }