-1
我有問題,我需要在圖像中的透明區域中心添加一個按鈕。在Android中如何在png圖像文件中找到透明區域的中心點
實施例:
根據上述圖像我有數百相框,和每幀有一個透明區域和我需要添加在該透明區域的中心的按鈕。
現在我想要一個解決方案,我可以通過編程方式獲得「x」座標。 請幫忙。
我有問題,我需要在圖像中的透明區域中心添加一個按鈕。在Android中如何在png圖像文件中找到透明區域的中心點
實施例:
根據上述圖像我有數百相框,和每幀有一個透明區域和我需要添加在該透明區域的中心的按鈕。
現在我想要一個解決方案,我可以通過編程方式獲得「x」座標。 請幫忙。
public static PointF getTransparentCenter(Bitmap bitmap, Point viewSize) {
List<Point> transparentPoints = new ArrayList<>();
for (int i = 0; i < bitmap.getWidth(); i++) {
for (int j = 0; j < bitmap.getHeight(); j++) {
int pixel = bitmap.getPixel(i, j);
if ((pixel & 0xff000000) == 0) {
//the point color is transparent
transparentPoints.add(new Point(i, j));
}
}
}
int totalX = 0;
int totalY = 0;
for (Point transparentPoint : transparentPoints) {
totalX += transparentPoint.x;
totalY += transparentPoint.y;
}
float centerX = (float) totalX/transparentPoints.size();
float centerY = (float) totalY/transparentPoints.size();
float x = viewSize.x * centerX/bitmap.getWidth();
float y = viewSize.y * centerY/bitmap.getHeight();
return new PointF(x, y);
}
我覺得這很愚蠢,但我認爲沒有別的辦法。
hii謝謝你的評論,我想知道你的意思是愚蠢的?我的問題或你的答案? –
@NavneetSharma我的答案是,它是性能問題。如果要顯示的照片是從您的服務器加載的,我認爲您應該將中心位置數據存儲在您的服務器上,並在響應中包含這些信息。 – WoookLiu
我使用的畫框是png文件格式。 我正試圖爲此問題找到一個編程解決方案。 –