Принцип верен, но вы можете попытаться сохранить его, как ImageDialog
:
См. buttonPressed () метод:
try
{
ImageData imageData = new ImageData( new ByteArrayInputStream JavaDoc( this.newImageRawData ) );
if ( imageData.type != this.requiredImageType )
{
ImageLoader imageLoader = new ImageLoader();
imageLoader.data = new ImageData[] { imageData };
ByteArrayOutputStream JavaDoc baos = new ByteArrayOutputStream JavaDoc();
imageLoader.save( baos, this.requiredImageType );
this.newImageRawDataInRequiredFormat = baos.toByteArray();
}
else
{
this.newImageRawDataInRequiredFormat = this.newImageRawData;
}
}
catch ( SWTException swte )
{
this.newImageRawDataInRequiredFormat = null;
}
Примечание. Когда сохраняет изображение , он использует следующий код:
try
{
File JavaDoc file = new File JavaDoc( returnedFileName );
FileOutputStream JavaDoc out = new FileOutputStream JavaDoc( file );
out.write( currentImageRawData );
out.flush();
out.close();
}