return getIntrinsicContentSizeHeight();
}
+
private float getIntrinsicContentSizeWidth()
{
if (imageBitmap == null)
* @param data A image of live-view.
* @param metadata A metadata of the image.
*/
- public void setImageData(byte[] data, Map<String, Object> metadata)
- {
+ public void setImageData(byte[] data, Map<String, Object> metadata) {
Bitmap bitmap;
int rotationDegrees;
imageBitmap = bitmap;
imageRotationDegrees = rotationDegrees;
}
+
refreshCanvas();
}
return null;
}
- PointF pointOnView = new PointF(event.getX(), event.getY());
+ PointF pointOnView = new PointF(event.getX() - getX(), event.getY() - getY()); // Viewの表示位置に補正
PointF pointOnImage = convertPointFromViewArea(pointOnView);
float imageWidth;
float imageHeight;
if (imageRotationDegrees == 0 || imageRotationDegrees == 180) {
imageWidth = imageBitmap.getWidth();
imageHeight = imageBitmap.getHeight();
- //imageWidth = this.getWidth();
- //imageHeight = this.getHeight();
} else {
imageWidth = imageBitmap.getHeight();
imageHeight = imageBitmap.getWidth();
- //imageWidth = this.getHeight();
- //imageHeight = this.getWidth();
- }
+ }
return (OLYCamera.convertPointOnLiveImageIntoViewfinder(pointOnImage, imageWidth, imageHeight, imageRotationDegrees));
}
imageSizeWidth = imageBitmap.getHeight();
imageSizeHeight = imageBitmap.getWidth();
}
-
float viewSizeWidth = this.getWidth();
float viewSizeHeight = this.getHeight();
float ratioX = viewSizeWidth / imageSizeWidth;
float ratioY = viewSizeHeight / imageSizeHeight;
float scale = 1.0f;
- switch (imageScaleType)
- {
+ switch (imageScaleType) {
case FIT_XY:
imagePointX /= ratioX;
imagePointY /= ratioY;
break;
-
case FIT_CENTER: // go to next label.
case CENTER_INSIDE:
scale = Math.min(ratioX, ratioY);
imagePointX = imagePointX / scale;
imagePointY = imagePointY / scale;
break;
-
case CENTER_CROP:
scale = Math.max(ratioX, ratioY);
imagePointX -= (viewSizeWidth - imageSizeWidth * scale) / 2.0f;
imagePointX /= scale;
imagePointY /= scale;
break;
-
case CENTER:
imagePointX -= (viewSizeWidth - imageSizeWidth) / 2.0f;
imagePointY -= (viewSizeHeight - imageSizeHeight) / 2.0f;
break;
-
default:
break;
}
- //return new PointF((imagePointX / scale), (imagePointY / scale));
- return new PointF((imagePointX), (imagePointY));
+
+ return new PointF(imagePointX, imagePointY);
}
/**
imageViewCreated = true;
try
{
- imageView = view.findViewById(R.id.cameraLiveImageView);
+ imageView = view.findViewById(R.id.cameraLiveImageView);
if (interfaceInjector != null)
{
interfaceInjector.injectOlympusDisplay(imageView, imageView);
{
focusingControl = interfaceProvider.getFocusingControl();
}
- if (onClickTouchListener == null)
- {
- onClickTouchListener = new LiveViewClickTouchListener(imageView, this, changeScene, focusingControl);
- }
+ if (onClickTouchListener == null)
+ {
+ onClickTouchListener = new LiveViewClickTouchListener(imageView, this, changeScene, focusingControl);
+ }
imageView.setOnClickListener(onClickTouchListener);
imageView.setOnTouchListener(onClickTouchListener);