private void drawBetterImage(Graphics g,int yLoc){
  int xLoc=100;
  int delta=(int)(SCALE_FACTOR * FULL_SIZE);
  for (int scaledSize=FULL_SIZE; scaledSize > 0; scaledSize-=delta) {
    Image scaledImage=getOptimalScalingImage(originalImage,FULL_SIZE,scaledSize);
    g.drawImage(scaledImage,xLoc,yLoc + (FULL_SIZE - scaledSize) / 2,null);
    xLoc+=scaledSize + 20;
  }
}

private void drawBetterImage ( Graphics g , int yLoc ) { int xLoc = 100 ; int delta = ( int ) ( SCALE_FACTOR * FULL_SIZE ) ; for ( int scaledSize = FULL_SIZE ; scaledSize > 0 ; scaledSize -= delta ) { Image scaledImage = getOptimalScalingImage ( originalImage , FULL_SIZE , scaledSize ) ; g . drawImage ( scaledImage , xLoc , yLoc + ( FULL_SIZE - scaledSize ) / 2 , null ) ; xLoc += scaledSize + 20 ; } }
progressive bilinear approach : this method gets each scaled version from the getoptimalscalingimage method and copies it into place .
