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

安卓基础(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.xdnf.cn/news/451027.html

相关文章:

  • 致远OA项目管理应用包简介【附百度网盘链接】
  • scratch基础-外观模块
  • 基于EFISH-SCB-RK3576/SAIL-RK3576的智能安检机技术方案‌
  • 基于SpringBoot+Vue的房屋租赁管理系统源码包(完整版)开发实战
  • matlab提取脑电数据的五种频域特征指标数值
  • 电脑软件出现应用程序未响应
  • JJJ:linux ida
  • 深入掌握 Python 切片操作:解锁数据处理的高效密码
  • hadoop知识点
  • Guix System 系统详解:从架构到生态的深度解析
  • WebGL图形编程实战【7】:变换流水线 × 坐标系与矩阵精讲
  • 【ESP32-S3】Guru Meditation Error 崩溃分析实战:使用 addr2line 工具 + bat 脚本自动解析 Backtrace
  • Blender 入门教程(二):纹理绘制
  • Java NIO 深度解析:突破传统IO的性能瓶颈
  • 【Linux】基础指令(Ⅱ)
  • Joker 智能可视化开发平台 AI胜出的关键
  • 解锁健康生活:现代养生实用方案
  • 【c语言】自定义类型:结构体
  • vue和springboot交互数据,使用axios【跨域问题】
  • 【springcloud学习(dalston.sr1)】使用Feign实现接口调用(八)
  • python打卡day25@浙大疏锦行
  • OpenCV + PyAutoGUI + Tkinter + FastAPI + Requests 实现的远程控制软件设计方案
  • 可视化图解算法39: 输出二叉树的右视图
  • Linux基础 -- SSH 流式烧录与压缩传输笔记
  • Restfull API 风格规则以及特点
  • Linux运维高频词对照表
  • “小显存”也能启动大模型
  • [数据结构]5. 栈-Stack
  • 服务器数据恢复—XFS文件系统分区消失的数据恢复案例
  • 基于.Net开发的网络管理与监控工具