gpt4 book ai didi

android - PanoramaGL 查看器位图的 URL

转载 作者:行者123 更新时间:2023-11-30 02:53:52 24 4
gpt4 key购买 nike

我正在开发一个应连接到 URL 的应用程序,以位图形式检索图像,然后在基于 PanoramaGL 库的查看器中显示它。

问题是,即使 Log 说图像已被捕获,显示仍然是空白。

这是我用来检索位图的代码,也是根据我在那里找到的非常详细的答案 How to load an ImageView by URL in Android? . -- 事实上我想直接读取图像而无需缓存等。

正如您将看到的大部分代码都来自在线教程,因为我刚刚开始开发。

PanoramaActivity.java(为了测试是否可以作为MainActivity使用)

import java.io.InputStream;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import com.panoramagl.PLImage;
import com.panoramagl.PLSpherical2Panorama;
import com.panoramagl.PLView;

public class PanoramaActivity extends PLView {

Private static final String TAG = "+++++++++++++++";


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.panorama_activity_main);
new DownloadImageTask(this).execute("http://www.pianetacellulare.it/UserFiles/image/Android/Jelly%20Bean/photo_sphere_esempio.jpg");
}

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {

PanoramaActivity pan;

public DownloadImageTask(PanoramaActivity act) {
this.pan = act;
}

protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return mIcon11;
}

protected void onPostExecute(Bitmap result) {
Log.d(TAG,"onPostExecute");
PLSpherical2Panorama panorama = new PLSpherical2Panorama();
panorama.setImage(new PLImage(result));
pan.setPanorama(panorama);
}
}
}

我创建了传递 PanoramaActivity 的构造函数,因为我认为应用程序会一直流到 onPostExecute 方法,我需要找到一种方法来显示图像。如果我错了或有任何更好的方法,请告诉我。

我还发布了用于测试的 panorama_activity_main.xml 布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".PanoramaActivity" >
</RelativeLayout>

感谢任何提示,提前致谢:)

更新。我使用 ImageView 而不是 PLView 尝试了相同的 AsyncTask 类,并且图像出来了,所以图像的下载是正确完成的。PanoramaGL 的使用有些不正确

最佳答案

删除

setContentView(R.layout.panorama_activity_main);

它正在覆盖图像。 --> 即使我不明白为什么会这样

最重要的是.. 确保您链接到的图像符合要求:

PanoramaGL 仅支持大小为 2 的幂的图像,例如2048x1024、1024x1024、1024x512、512x512、512x256、256x256、256x128。

关于android - PanoramaGL 查看器位图的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23660203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com