在 R 中拼接图片

这里推荐一个很好用的 R 包 ,基于 ggplot 的拼图包 patchwork 。说它好用不光是说拼图拼的好,而是操作特别方便。

install.packages("patchwork") # 安装包
library(patchwork) # 载入包
library(ggplot2)
p1 <- ggplot(diamonds,mapping = aes(x=price))+
  geom_histogram(binwidth = 1)
p2 <- ggplot(diamonds,mapping = aes(x=price))+
  geom_histogram(binwidth = 10)
p3 <- ggplot(diamonds,mapping = aes(x=price))+
  geom_histogram(binwidth = 100)
p4 <- ggplot(diamonds,mapping = aes(x=price))+
  geom_histogram(binwidth = 1000)  # 画出p1,p2,p3,p4
(p1|p2)/(p3|p4) # 拼图开始
(p1/p2|p3)/p4  # 这里“+”或者“|”是表示在一行,“/”表示换行。
22411501-c71abd0f250c97d7.png
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用Android的Canvas和Bitmap类来实现将多张图片拼接在一起形成一个全新的图片。 下面是一个简单的示例代码,假设你有三张图片需要拼接: ``` // 读取需要拼接的三张图片 Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(), R.drawable.image1); Bitmap bitmap2 = BitmapFactory.decodeResource(getResources(), R.drawable.image2); Bitmap bitmap3 = BitmapFactory.decodeResource(getResources(), R.drawable.image3); // 计算最终拼接后的图片大小 int width = bitmap1.getWidth() + bitmap2.getWidth() + bitmap3.getWidth(); int height = Math.max(bitmap1.getHeight(), Math.max(bitmap2.getHeight(), bitmap3.getHeight())); // 创建一个空的Bitmap用来存储最终拼接后的图片 Bitmap resultBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); // 创建一个Canvas对象,并将resultBitmap作为它的绘制目标 Canvas canvas = new Canvas(resultBitmap); // 将三张图片按顺序绘制到Canvas上 canvas.drawBitmap(bitmap1, 0, 0, null); canvas.drawBitmap(bitmap2, bitmap1.getWidth(), 0, null); canvas.drawBitmap(bitmap3, bitmap1.getWidth() + bitmap2.getWidth(), 0, null); // 最终得到的resultBitmap即为拼接后的图片 ``` 在上面的代码,首先通过BitmapFactory.decodeResource()方法读取需要拼接的三张图片,然后计算出最终拼接后的图片的大小,并创建一个空的Bitmap用来存储最终的结果。接着创建一个Canvas对象,并将resultBitmap作为它的绘制目标,然后将三张图片按顺序绘制到Canvas上。最后得到的resultBitmap即为拼接后的图片

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值