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

小程序网站开发怎么样资源网站建设

小程序网站开发怎么样,资源网站建设,php个人网站源码带音乐,网页页面设计叫什么kotlin图片合成和压缩 之前的方法是继承AsyncTask 在doInBackground 里面去做压缩的操作#xff0c;然后用 publishProgress 切到主线程里面更新 新方法是在协程里的去做 class ImageService {private fun getSumWidths(bitmaps: ArrayListBitmap): Int {var sumWid…kotlin图片合成和压缩 之前的方法是继承AsyncTask 在doInBackground 里面去做压缩的操作然后用 publishProgress 切到主线程里面更新 新方法是在协程里的去做 class ImageService {private fun getSumWidths(bitmaps: ArrayListBitmap): Int {var sumWidth 0for (b in bitmaps) {sumWidth intValidCheck((sumWidth b.width).toLong())}return sumWidth}private fun getMaxHeights(bitmaps: ArrayListBitmap): Int {var max bitmaps[0].heightfor (bitmap in bitmaps) {if (max bitmap.height) {max bitmap.height}}return max}/*** crop front rear left right View Image*/fun cropImage(src: Bitmap): Bitmap {Log.d(cropImage src width: src.width , height: src.height)//int x, int y, int width, int heightval result Bitmap.createBitmap(src, 0, 0, CROP_IMAGE_WIDTH_SIZE, CROP_IMAGE_HEIGHT_SIZE)Log.d(cropImage result width: result.width , height: result.height)if (result ! src) {src.recycle()}return result}fun cropOtherViewImage(src: Bitmap): Bitmap? {Log.d(cropTopViewImage width: src.width , height: src.height)//int x, int y, int width, int heightval result Bitmap.createBitmap(src,CROP_OTHER_VIEW_IMAGE_X_POINT,0,CROP_OTHER_VIEW_IMAGE_WIDTH_SIZE,CROP_OTHER_VIEW_IMAGE_HEIGHT_SIZE)Log.d(cropTopViewImage result width: result.width , height: result.height)if (result ! src) {src.recycle()}return result}fun mergeMultipleImages(bitmaps: ArrayListBitmap): Bitmap? {Log.d(mergeMultipleImages)if (bitmaps.isEmpty()){return null}var totalWidth 0var maxHeight 0for (bitmap in bitmaps) {totalWidth bitmap.widthif (bitmap.height maxHeight) {maxHeight bitmap.height}}val mergedBitmap Bitmap.createBitmap(getSumWidths(bitmaps),getMaxHeights(bitmaps),Bitmap.Config.ARGB_8888)val canvas Canvas(mergedBitmap)val paint Paint()/*val mTextPaint Paint()mTextPaint.color Color.WHITEmTextPaint.isAntiAlias true*/var currentX 0for (i in bitmaps.indices) {val bitmap bitmaps[i]Log.d(bitmaps.get( i ) result width: bitmap.width , height: bitmap.height)val srcRect Rect(0, 0, bitmap.width, bitmap.height)val dstRect Rect(currentX, 0, currentX bitmap.width, maxHeight)canvas.drawBitmap(bitmap, srcRect, dstRect, paint)currentX bitmap.width}Log.d(mergeMultipleImages result Bitmap width: mergedBitmap.width , height: mergedBitmap.height)return mergedBitmap}suspend fun compressImages(bitmap: Bitmap): ByteArray? {return withContext(Dispatchers.Default) {Log.d( start compressImages )val outputStream ByteArrayOutputStream()var quality 100bitmap.compress(Bitmap.CompressFormat.JPEG, quality, outputStream)while (outputStream.size() / KB MAX_IMAGE_SIZE quality 0) {outputStream.reset()quality - 1bitmap.compress(Bitmap.CompressFormat.JPEG, quality, outputStream)}Log.d(compressImagesend ${outputStream.size()})val saveCompressImage saveCompressImage(getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),outputStream)Log.d(saveCompressImage: $saveCompressImage)outputStream.toByteArray()}}private fun saveCompressImage(f: File, bos: ByteArrayOutputStream?): Boolean {val file File(f,compress.jpeg)Log.d(saveCompressImage : file.path)return try {val fos FileOutputStream(file)bos?.writeTo(fos)Log.d(saveCompressImage success)fos.flush()fos.close()true} catch (e: Exception) {Log.d(saveCompressImage error)e.printStackTrace()false}}companion object {private const val MAX_IMAGE_SIZE 250private const val CROP_IMAGE_WIDTH_SIZE 120 // 尺寸要保持一致private const val CROP_IMAGE_HEIGHT_SIZE 121 // 尺寸要保持一致private const val CROP_OTHER_VIEW_IMAGE_X_POINT 1288 // 其他的尺寸要保持一致 这个是额外添加的viewprivate const val CROP_OTHER_VIEW_IMAGE_WIDTH_SIZE 632 // 其他的尺寸要保持一致private const val CROP_OTHER_VIEW_IMAGE_HEIGHT_SIZE 720 其他的尺寸private const val KB: Long 1024fun intValidCheck(value: Long): Int {if (value Int.MIN_VALUE || value Int.MAX_VALUE) {throw ArithmeticException(Integer overflow)}return value.toInt()}}}
http://www.hkea.cn/news/14562296/

相关文章:

  • 周至做网站的公司上海建站模板厂家
  • 兰州做网站优化的公司接设计私单的平台
  • 南浔区住房和城乡建设局网站网站地图怎么做
  • 新校区建设网站上海植物租赁做网站
  • 杭州网站建设过程建站宝盒成品网站演示
  • 为什么要做网站首页设计龙岗房价
  • 长沙建设信息网站专业网站建设公司用织梦吗?
  • 建瓯网站建设wzjseo手机网站qq代码
  • 佛山制作网站公司哪家好商城app开发费用多少
  • 自己的网站做弹出广告南通做网站ntwsd
  • 徐州提供网站建设要多少钱做网站数据库表各字段详情
  • 网站统计平台wordpress主题的文件在哪个文件夹
  • 南宁网站建设科技公司盐城工程造价信息网
  • 建设网站都需要准备什么wordpress 301
  • 网站做优化的必要性wordpress大前端哪个好
  • 专门做招商的网站是什么意思营销网站价格
  • 美好乡村建设网站安徽弘泰建设管理有限公司网站
  • seo网站优化经理同ip网站过多是空间的原因还是域名的原因
  • 网站首页素材安卓优化大师2021
  • 遵义城乡住房建设厅网站王烨全国有多少人
  • 如何在大学网站做宣传网站建设建设
  • 考证培训机构报名网站国际新闻
  • 小企业网站建设哪找点击颜色更换网站主题
  • 防止网站被采集河南郑州网站制作公司
  • 柳州网站建设外贸cms什么意思
  • 个人网站名称举例工作总结及工作计划
  • 手机网站创建站点成功黑猫会活动策划网站
  • 怎么制作网站视频教程seo排名优化教程
  • 怎么做自己的网站赚钱做优惠券网站要多少钱
  • 青岛网站建设找润商文化传媒有限公司