Blob + Redimensionamento de imagem, alguém sabe?

Pessoal, estou com o seguinte problema, eu tenho uma imagem .jpg no banco de dados ( e sempre vai ser jpg) gravada em um campo do tipo blob (oracle), então eu faço o seguinte

[code].
.
.
response.setContentType(“application/octet-stream”);
response.setHeader(“Content-Disposition”,“inline; filename=” + query.getString(“nome”) );

  b_lob = query.getBlob( "arquivo" );

  baos = new ByteArrayOutputStream( (int)b_lob.length() );
  bis = new BufferedInputStream( b_lob.getBinaryStream(), 1024 );
  bos = new BufferedOutputStream( response.getOutputStream() );

  for( int b; ( ( b = bis.read() ) != -1 ); baos.write( b ) );
  bis.close();

  synchronized ( bos )
  {        
    baos.writeTo( bos );
  }
  
  bos.flush();
  bos.close();

[/code]
Legal, ele mostra a imagem no browser, só que aí vem o problema, eu queria definir o tamanho da imagem que eu quero que mostre, por exemplo quero que ela apareça com 300 pixels e não o tamanho original que está gravado no banco de dados (não preciso criar uma imagem
fisicamente, nem nada, simplesmente preciso que ela apareça com um tamanho que eu determinar)