当前位置: 首页 > 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

相关文章:

  • scons user 3.1.2
  • C#强类型枚举的入门理解
  • C++【STL】(2)string
  • 4级流程控制
  • 复现:DemoGen 用于数据高效视觉运动策略学习的 合成演示生成 (RSS) 2025
  • Docker 常见问题及其解决方案
  • nginx报错-[emerg] getpwnam(“nginx“) failed in /etc/nginx/nginx.conf:2
  • FastAPI + OpenAI 模型 的 GitHub 项目结构模板
  • 未来软件开发趋势与挑战
  • Python+Selenium爬虫:豆瓣登录反反爬策略解析
  • C#调用C++dll 过程记录
  • 【VS】VS2019中使用rdlc报表,生成之前修改XML
  • 【每天一个知识点】模型轻量化(Model Compression and Acceleration)技术
  • 解释 RESTful API
  • 数据结构学习之链表学习:单链表
  • Linux笔记---信号(中)
  • AIGC与数字媒体实验室解决方案分享
  • LabVIEW在电子电工教学中的应用
  • 腾讯云运营开发 golang一面
  • map和unordered_map
  • 证券时报:中美互降关税落地,订单集中补发港口将迎高峰期
  • 杭州钱塘区3宗涉宅用地均以底价成交,共计成交金额25.73亿元
  • 武汉旅游体育集团有限公司原党委书记、董事长董志向被查
  • 航行警告:渤海海峡黄海北部执行军事任务,禁止驶入
  • 印度最新发声:对所有敌对行动均予以反击和回应,不会升级冲突
  • 面对非专业人士,科学家该如何提供建议