java - 代号一签名组件图片上传

标签 java php codenameone multipart

我一直在尝试将从代号 one 签名捕获的签名上传到我的 php 服务器。问题是上传的图像是黑色图像。下面是我的代码。我该如何解决这个问题

SignatureComponent sig = new SignatureComponent();
sig.addActionListener((evt)-> {
try{
img = sig.getSignatureImage();
}catch(Exception ex){
ex.printStackTrace();
      }
// Now we can do whatever we want with the image of this signature.
});
Button sv = new Button("save");
sv.addActionListener(new ActionListener(){
         @Override
        public void actionPerformed(ActionEvent evt) {
             try {


                Label it = new Label();
                it.setIcon(img);
                orderHome.add(it);

                 ImageIO imgIO= ImageIO.getImageIO();
                 ByteArrayOutputStream out = new ByteArrayOutputStream();
                 imgIO.save(img, out,ImageIO.FORMAT_JPEG, 1);
                 byte[] ba = out.toByteArray();
                 MultipartRequest request = new MultipartRequest();
                 String url = Global.url1 + "upload_photo.php";

                 request.setUrl(url);


                     request.addData("file",ba,"image/jpeg");
                  request.addArgument("order_id", order_id);
                request.addArgument("customer_id", customer_id);

                 NetworkManager.getInstance().addToQueue(request);

和 php 代码

[![image uploaded][1]][1]
<?php
@SESSION_START();
require_once("../includes/functions.php");
$target_path="../uploads/";
$customer_id=$_REQUEST['customer_id'];
$order_id=$_REQUEST['order_id'];
$uid = uniqid();
$file =$uid.".jpg";
$sucess=move_uploaded_file($_FILES["file"]["tmp_name"], $target_path.$file);                   

image uploaded to server screenshot of the simulator

黑色img是上传到服务器的文件。另一个显示正在运行的应用程序的屏幕截图。我想上传屏幕截图中的签名

最佳答案

签名生成半透明图像。 JavaSE 在将半透明图像保存为 JPEG 时存在一些问题,因此 PNG 效果很好。另一种选择是创建不透明图像并将其另存为 JPEG,例如:

Image myImage = Image.create(img.getWidth(), img.getHeight());
myImage.getGraphics().drawImage(img, 0, 0);

新的 myImage 将是不透明的,并带有白色背景。

关于java - 代号一签名组件图片上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41852966/

相关文章:

java - quartz 线程执行并行还是顺序?

java - 从字符串中提取字符串

php - 将php查询结果转成json

在 Respect/Validation 中使用自定义规则时,PHPStan 抛出未定义的静态方法

android - android 上的 Webbrowser 空白

java - 如何防止 CodenameOne GUI 元素在更改为粗体时滚动(滴答作响?)?

codenameone - Codename One 和 AntMedia 使用中 WebRTC 的当前支持情况

java - JodaTime 无法标准化 periodType

java - 设置字符串值时遇到问题

php - 如何通过 PHP 使用 group 来统计 mysql?