Package com.gloopics.g3viewer.client

Source Code of com.gloopics.g3viewer.client.AsyncResizer

package com.gloopics.g3viewer.client;

import com.gloopics.g3viewer.client.canvas.Canvas;

import com.google.gwt.core.client.RunAsyncCallback;
import com.google.gwt.gears.client.blob.Blob;

public class AsyncResizer implements RunAsyncCallback{
 
  private final Blob m_Blob;
 
  private final UploadFile m_UploadFile;
 
  private final ResizeOptions m_ResizeOptions;
 
  public AsyncResizer(Blob a_Blob, UploadFile a_UploadFile){
    m_Blob = a_Blob;
    m_UploadFile = a_UploadFile;
    m_ResizeOptions = a_UploadFile.getResizeOptions();
  }

  @Override
  public void onFailure(Throwable reason) {
    G3Viewer.displayError("Error Resizing image", reason.toString());
  }

  @Override
  public void onSuccess() {
    // resize file
    Canvas upThumb = com.gloopics.g3viewer.client.canvas.Factory.getInstance().createCanvas();
    upThumb.decode(m_Blob);
   
    float imageWidth = (float)upThumb.getWidth();
    float imageHeight = (float)upThumb.getHeight();
   
    float widthRatio = imageWidth/((float)m_ResizeOptions.getMaxWidth());
    float heightRatio = imageHeight/((float)m_ResizeOptions.getMaxHeight());
   
    if (widthRatio > heightRatio){
      if (widthRatio > 1) {
        upThumb.resize(m_ResizeOptions.getMaxWidth(), (int)(imageHeight / widthRatio) );
        m_UploadFile.uploadBlob(upThumb.encode());
        return;
      }
      m_UploadFile.uploadBlob(m_Blob);
    }
    else
    {
      if (heightRatio > 1){
        upThumb.resize((int)(imageWidth / heightRatio), m_ResizeOptions.getMaxHeight());
        m_UploadFile.uploadBlob(upThumb.encode());
        return;
      }
      m_UploadFile.uploadBlob(m_Blob);
    }
  }
}
TOP

Related Classes of com.gloopics.g3viewer.client.AsyncResizer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.