当前位置: 首页 > article >正文

安卓基础(Bitmap)

Bitmap 是 Android 开发中一个非常重要的类,用于表示图像数据。它是一个位图对象,存储了图像的像素信息,可以用于显示、处理和保存图像。Bitmap 提供了丰富的 API,用于操作和处理图像数据。

1. Bitmap 的作用

  • 显示图像:将图像数据加载到内存中,可以在 ImageView 或其他视图组件中显示。

  • 处理图像:支持对图像进行裁剪、缩放、旋转、合成等操作。

  • 保存图像:将图像数据保存为文件(如 PNG、JPEG 等格式)。

  • 数据交换:将图像数据转换为字节数组或流,用于网络传输或存储。

把安卓的图片传给Flask后端

需要用bitmap转成字节数组

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import okhttp3.*;import java.io.ByteArrayOutputStream;
import java.io.IOException;public class MainActivity extends AppCompatActivity {private static final String FLASK_SERVER_URL = "http://192.168.1.100:5000/upload"; // 替换为你的Flask服务器地址@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 示例:加载一个截图(实际应用中替换为你的截图获取逻辑)Bitmap screenshot = BitmapFactory.decodeResource(getResources(), R.drawable.example_screenshot);// 调用方法发送截图到Flask后端sendScreenshotToFlask(screenshot);}private void sendScreenshotToFlask(Bitmap screenshot) {// 创建一个OkHttpClient实例OkHttpClient client = new OkHttpClient();// 将Bitmap转换为字节数组ByteArrayOutputStream stream = new ByteArrayOutputStream();screenshot.compress(Bitmap.CompressFormat.PNG, 100, stream);byte[] screenshotBytes = stream.toByteArray();// 创建RequestBody,设置文件类型为image/pngRequestBody requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM).addFormDataPart("screenshot", "screenshot.png",RequestBody.create(screenshotBytes, MediaType.get("image/png"))).build();// 创建RequestRequest request = new Request.Builder().url(FLASK_SERVER_URL).post(requestBody).build();// 创建CallCall call = client.newCall(request);// 执行请求call.enqueue(new Callback() {@Overridepublic void onFailure(Call call, IOException e) {e.printStackTrace();}@Overridepublic void onResponse(Call call, Response response) throws IOException {if (response.isSuccessful()) {final String responseData = response.body().string();// 在主线程中更新UI(例如显示成功消息)runOnUiThread(() -> {// 更新UI});}}});}
}

123

http://www.lryc.cn/news/2378833.html

相关文章:

  • 记录:echarts实现tooltip的某个数据常显和恢复
  • 八股文--JVM(1)
  • 从RPA项目说说RPC和MQ的使用。
  • 【大模型面试每日一题】Day 21:对比Chain-of-Thought(CoT)与Self-Consistency在复杂推理任务中的优劣
  • UUG杭州站 | 团结引擎1.5.0 OpenHarmony新Feature介绍
  • Vue3——父子组件通信
  • 游戏引擎学习第276天:调整身体动画
  • 从开发者角度看数据库架构进化史:JDBC - 中间件 - TiDB
  • Mipsel固件Fuzzing小记
  • 本土DevOps革命:Gitee如何撬动中国企业的数字化转型新动能
  • 关于此站点更改通知.top域名后期将统一更换为snowytime.cn访问,其余top访问进入过渡期
  • 使用python进行人员轨迹跟踪
  • 强化学习入门:马尔科夫奖励过程二
  • JVM 双亲委派机制
  • uniapp -- uCharts 仪表盘刻度显示 0.9999999 这样的值问题处理。
  • BGP团体属性
  • Redis——三大策略
  • Windows 操作系统使用 Tcping 命令检查目标主机端口是否开放
  • 序列化和反序列化:从理论到实践的全方位指南
  • PDF Base64格式字符串转换为PDF文件临时文件
  • 开源RTOS(实时操作系统):nuttx 编译
  • python打包exe报错:处理文件时错误:Excel xlsx file; not supported
  • VUE3 -综合实践(Mock+Axios+ElementPlus)
  • NDS3211HV单路H.264/HEVC/HD视频编码器
  • LeetCode热题100--206.反转链表--简单
  • 来一个复古的技术FTP
  • OpenCV CUDA模块中矩阵操作------分布统计类
  • OpenWebUI新突破,MCPO框架解锁MCP工具新玩法
  • go.mod关于go版本异常的处理
  • TRTC实时对话式AI解决方案,助力人机语音交互极致体验