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

做dw网站图片怎么下载游戏推广员

做dw网站图片怎么下载,游戏推广员,wordpress焦点图插件,网站建设设计公司类网站织梦模板 带手机端很莫名其妙的,前摄默认镜像,原来是为了前摄拍字体正确显示,比如自拍,前摄拍摄的人像虽左右镜像了,但如果后面有字牌显示,字体会显示正常而不是翻转。但现在需求是满足普遍的前摄原生代码不带镜像修改&#…

很莫名其妙的,前摄默认镜像,原来是为了前摄拍字体正确显示,比如自拍,前摄拍摄的人像虽左右镜像了,但如果后面有字牌显示,字体会显示正常而不是翻转。但现在需求是满足普遍的前摄原生代码不带镜像修改,需要把预览和保存的图片进行左右翻转,那么就需要找到相应的修改位置才行。

以下就是相关修改点:直接修复前摄镜像显示 即可正常显示

充分利用此方法:

PhotoModeHelper.rotateAndMirror(bitmap, orientation, true);

matrix.postScale(-1, 1);

1./vendor/mediatek/proprietary/packages/apps/Camera2/common/src/com/mediatek/camera/common/utils/CameraUtil.java

 //*/add package
import android.graphics.BitmapFactory;
import com.mediatek.camera.common.mode.photo.PhotoModeHelper;
import java.io.ByteArrayOutputStream;
import android.graphics.Bitmap;
//*/

添加在最后的方法

//*/add sub camera mirror method mirrorJpegData
   public static byte[] mirrorJpegData(byte[] jpegData, int orientation) {
       byte[] dest = jpegData;
       BitmapFactory.Options opts = new BitmapFactory.Options();
       opts.inMutable = true;
       Bitmap b = BitmapFactory.decodeByteArray(jpegData, 0, jpegData.length, opts);
       b = PhotoModeHelper.rotateAndMirror(b, orientation, true);
       ByteArrayOutputStream baos = new ByteArrayOutputStream();
       b.compress(Bitmap.CompressFormat.JPEG, 100, baos);
       dest = baos.toByteArray();
       b.recycle();

       return dest;
   }
   //*/

2./vendor/mediatek/proprietary/packages/apps/Camera2/common/src/com/mediatek/camera/common/mode/photo/PhotoMode.java

 @Override
    public void onPostViewCallback(byte[] data) {
        LogHelper.d(TAG, "[onPostViewCallback] data = " + data + ",mIsResumed = " + mIsResumed);
        CameraSysTrace.onEventSystrace(POST_VIEW_CALLBACK, true, true);
        if (data != null && mIsResumed) {
            //will update the thumbnail
            int rotation = CameraUtil.getJpegRotationFromDeviceSpec(Integer.parseInt(mCameraId),
                    mIApp.getGSensorOrientation(), mIApp.getActivity());
            Bitmap bitmap = BitmapCreator.createBitmapFromYuv(data,
                    ThumbnailHelper.POST_VIEW_FORMAT,
                    ThumbnailHelper.getThumbnailWidth(),
                    ThumbnailHelper.getThumbnailHeight(),
                    mIApp.getAppUi().getThumbnailViewWidth(),
                    rotation);
              //*/ add sub camera mirror
            if (mCameraId.equals(FRONT_CAMERA_ID)) {//BACK_CAMERA_ID
                Matrix m = new Matrix();
                m.postScale(-1, 1);
                bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), m, true);
            }
            //*/

            mIApp.getAppUi().updateThumbnail(bitmap);
        }
        CameraSysTrace.onEventSystrace(POST_VIEW_CALLBACK, false, true);
    }

===============

保存数据是通过PhotoMode.java文件中的saveData方法实现,具体修改参照如下:引用方法

   private void saveData(byte[] data) {
        if (data != null) {
            //*/ add. sub camera mirror
            if (mCameraId.equals(FRONT_CAMERA_ID)) {//BACK_CAMERA_ID
                data = CameraUtil.mirrorJpegData(data, 0);
            }
            //*/

            //check memory to decide whether it can take next picture.
            //if not, show saving
            ISettingManager.SettingController controller = mISettingManager.getSettingController();
            String dngState = controller.queryValue(KEY_DNG);
            long saveDataSize = data.length;
            if (dngState != null && "on".equalsIgnoreCase(dngState)) {
                saveDataSize = saveDataSize + DNG_IMAGE_SIZE;
            }
            synchronized (mCaptureNumberSync) {
                mCapturingNumber ++;
                mMemoryManager.checkOneShotMemoryAction(saveDataSize);
            }
            String fileDirectory = mICameraContext.getStorageService().getFileDirectory();
            Size exifSize = CameraUtil.getSizeFromSdkExif(data);
            ContentValues contentValues = mPhotoModeHelper.createContentValues(data,
                    fileDirectory, exifSize.getWidth(), exifSize.getHeight());
            mICameraContext.getMediaSaver().addSaveRequest(data, contentValues, null,
                    mMediaSaverListener);
        }
    }

到此完结撒花! 

http://www.yidumall.com/news/43687.html

相关文章:

  • 滕州网站建设深圳竞价托管公司
  • 做商品网站的教学视频教程网络推广优化网站
  • 布吉做棋牌网站建设实时疫情最新消息数据
  • 做IP授权的一般看什么网站太原搜索排名提升
  • hbuilder 怎么做企业网站东莞搜索优化十年乐云seo
  • wordpress的建站教程网站设计
  • 合肥 电子商务 网站建设超级seo外链工具
  • 刚建设的网站多久能在百度查到朋友圈广告投放价格表
  • 复兴区网络推广公司以下属于网站seo的内容是
  • 湖北网络推广seoseo实战培训教程
  • 知名网站建设加工百度app平台
  • 给公司做企业网站职业培训机构有哪些
  • 网站详情页用哪个软件做app网站推广平台
  • 专业制作网站费用网络销售平台有哪些
  • 村委会网站源码佛山网站建设维护
  • 做非洲出口的网站营销型企业网站
  • 白沟17网站一起做网店友情链接购买
  • 做公司网站需要几个域名百度seo引流怎么做
  • 好看的html页面模板泰州seo平台
  • 武汉做商城网站建设百度云登陆首页
  • 自己做的网站谁来维护百度学术官网入口
  • 如何进行营销型企业网站的优化关键词歌曲免费听
  • 深圳市住建设局网站优化方案官方网站
  • 邯郸景区网站制作苏州seo关键词优化排名
  • 网站部署到终端机怎么做seo网络优化是什么工作
  • 几级英语可以做外贸网站seo网站降权查询工具
  • 浅谈中兴电子商务网站建设郑州seo服务技术
  • 佛山网站到首页排名百度推广登录平台登录
  • 做学术用的网站双滦区seo整站排名
  • 电子商务型网站建设seo百科大全