首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图片上的文字(日期)邮票

图片上的文字(日期)邮票
EN

Stack Overflow用户
提问于 2012-01-28 14:04:58
回答 2查看 6.8K关注 0票数 3

是否有可能合并从相机拍摄的文字和照片?我想在照片上印上日期和时间,但我没有在谷歌上找到任何东西。

EN

回答 2

Stack Overflow用户

发布于 2012-01-28 15:37:28

使用下面的代码来实现您所需的功能。

代码语言:javascript
复制
        Bitmap src = BitmapFactory.decodeResource(getResources(), R.drawable.cuty); // the original file is cuty.jpg i added in resources
        Bitmap dest = Bitmap.createBitmap(src.getWidth(), src.getHeight(), Bitmap.Config.ARGB_8888);

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String dateTime = sdf.format(Calendar.getInstance().getTime()); // reading local time in the system

        Canvas cs = new Canvas(dest);
        Paint tPaint = new Paint();
        tPaint.setTextSize(35);
        tPaint.setColor(Color.BLUE);
        tPaint.setStyle(Style.FILL);
        cs.drawBitmap(src, 0f, 0f, null);
        float height = tPaint.measureText("yY");
        cs.drawText(dateTime, 20f, height+15f, tPaint);
        try {
            dest.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(new File("/sdcard/timeStampedImage.jpg")));
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

您必须在清单文件中使用下面的权限。

代码语言:javascript
复制
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

如果你有任何疑问,请随便问。我在图像的左上角添加时间戳,您可以将其更改为图像上的任何位置。

对于我的设备,路径是/sdcard来访问外部SD卡,其他设备可能会有所不同。有些设备可能具有/mnt/sdcard,可能是用于内部sd卡。在使用此代码段之前,只需检查它。

票数 8
EN

Stack Overflow用户

发布于 2012-01-28 14:09:42

使用decodeByteArray

  • Create方法
  • 从byte[]数组中创建一个位图对象,该方法使用
  • 创建的位图,使用画布对象上的方法drawText在照片上写入文本。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9045826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档