MCPcopy Index your code
hub / github.com/MapServer/MapServer / msSaveImageBuffer

Function msSaveImageBuffer

maputil.c:818–843  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

816*/
817
818unsigned char *msSaveImageBuffer(imageObj* image, int *size_ptr, outputFormatObj *format)
819{
820 *size_ptr = 0;
821 if( MS_RENDERER_PLUGIN(image->format)){
822 rasterBufferObj data;
823 rendererVTableObj *renderer = image->format->vtable;
824 if(renderer->supports_pixel_buffer) {
825 bufferObj buffer;
826 msBufferInit(&buffer);
827 renderer->getRasterBufferHandle(image,&data);
828 msSaveRasterBufferToBuffer(&data,&buffer,format);
829 *size_ptr = buffer.size;
830 return buffer.data;
831 //don't free the bufferObj as we don't own the bytes anymore
832 } else {
833 /* check if the renderer supports native buffer output */
834 if (renderer->saveImageBuffer)
835 return renderer->saveImageBuffer(image, size_ptr, format);
836
837 msSetError(MS_MISCERR, "Unsupported image type", "msSaveImageBuffer()");
838 return NULL;
839 }
840 }
841 msSetError(MS_MISCERR, "Unsupported image type", "msSaveImage()");
842 return NULL;
843}
844
845/**
846 * Generic function to free the imageObj

Callers 1

image.cFile · 0.85

Calls 3

msBufferInitFunction · 0.85
msSetErrorFunction · 0.85

Tested by

no test coverage detected