• 关于 图片翻转 的搜索结果

问题

如何实现在照完图片后,然照片从左向右翻转

lhxr_2012 2019-12-01 22:02:59 4403 浏览量 回答数 2

问题

手机上传视频截帧图片翻转问题

1459854662042572 2019-12-01 19:09:25 72 浏览量 回答数 0

回答

您可以自己处理一下图片。把它弄正了。或是直接提交。阿里的客服人员会帮您翻转过来的

厉害了我 2019-12-02 00:24:10 0 浏览量 回答数 0

智能视觉生产免费体验

图像视频分割、图像编辑、图像分析,互娱、电商行业必备

回答

Re如何实现在照完图片后,然照片从左向右翻转 UIImage * flippedImage = [UIImage imageWithCGImage:picture.CGImage scale:picture.scale orientation:UIImageOrientationLeftMirrored];picture = flippedImage; 试试这样是否可以达到你的预期

zhedianshi 2019-12-01 23:32:12 0 浏览量 回答数 0

问题

Blink1.5.1 sql 多次计算问题

Assassinxc 2019-12-01 19:52:28 93 浏览量 回答数 1

回答

如果你固定了Y轴旋转,那么2D角色也将不会“面对敌人”,可以通过改变图片的“UV”翻转。这里只讨论如何固定Y轴。添加如下mono脚本,在你的角色上。 public Transform targetPoint; //目标骨骼 float z; // Use this for initialization void Start () { y = targetPoint.position.y; } // Update is called once per frame void LateUpdate () { transform.position = new Vector3(targetPoint.position.x,y, targetPoint.position.z); } 小细节,放在lateUpdate中更新,保证你的逻辑做完后再把Y轴置为原始数值。

客路行舟 2020-02-11 11:20:01 0 浏览量 回答数 0

回答

细致的解释看下面: 1、Alpha 滤镜 "Alpha"属性是把一个目标元素与背景混合。设计者可以指定数值来控制混合的程度。这种“与背景混合”通俗地说就是一个元素的透明度。通过指定坐标,可以指定各种不同范围的透明度。 Alpha 滤镜语法 {FILTER:ALPHA(opacity=opacity,finishopacity=finishopacity, style=style,startx=startx, starty=starty,finishx=finishx,finishy=finishy)} 参数含义分别如下: 参数 说明 opacity 透明度。默认的范围是从0 到 100,他们其实是百分比的形式。也就是说,0代表完全透明,100代表完全不透明。 finishopacity 是一个可选参数,如果想要设置渐变的透明效果,就可以使用他们来指定结束时的透明度。范围也是0 到 100。 style 指定透明区域的形状特征: 0 代表统一形状 1 代表线形 2 代表放射状 3 代表矩形 startx 渐变透明效果开始处的 X坐标。 starty 渐变透明效果开始处的 Y坐标。 finishx 渐变透明效果结束处的 X坐标。 finishy 渐变透明效果结束处的 Y坐标。 2、Blur 滤镜 用手指在一幅尚未干透的画面迅速划过时,画面就会变得模糊。”Blur"就是产生同样的模糊效果。 Blur滤镜语法 HTML:{filter:blur(add=add,direction=direction, strength=strength)} Script语言: [oblurfilter=] object.filters.blur 参数含义分别如下: 参数 说明 add 它指定图片是否被改变成印象派的模糊效果。模糊效果是按顺时针的方向进行的, 这是一个布尔值:ture (默认)或false direction 该参数用来设置模糊的方向。 0度代表垂直向上,每45度为一个单位,默认值是向左的270度 strength 只能使用整数来指定,代表有多少像素的宽度将受到模糊影响,默认是5个像素。 3、DropShadow 滤镜 “DropShaow",顾名思义就是添加对象的阴影效果。其工作原理是建立一个偏移量,加上色彩。 DropShadow 滤镜语法 {filter:dropshadow (color=color,offx=ofx,offy=offy,positive=positive)} 参数含义如下: 参数 说明 Color 代表投射阴影的颜色 offx X方向阴影的偏移量 offy Y方向阴影的偏移量 Positive 布尔值 如果为TRUE(非0),就为任何的非透明像素建立可见的投影 如果为FASLE(0),就为透明的像素部分建立透明效果 4、FlipH, FlipV 滤镜 FlipH 滤镜实现水平反转 FlipH 滤镜语法 {filter:filph} FlipV 滤镜实现垂直反转 FlipV 滤镜语法 {filter:filpv} 5、Glow 滤镜 对一个对象使用"glow"属性后,这个对象的边缘就会产生类似发光的效果。 Glow 滤镜语法 {filter:glow(color=color,strength)} 参数含义如下: 参数 说明 Color 指定发光的颜色 STRENGTH 强度,值为1到255之间的任何整数,指定发光色力度和范围。 6、Gray 滤镜 使用Gray滤镜可以把一张图片变成灰度图,语法很简单: Gray 滤镜语法 {filter:gray} 7、Invert滤镜 使用Invert滤镜可以把对象的可视化属性全部翻转,包括色彩、饱和度、和亮度值 Invert 滤镜语法 {filter:invert} 8、Xray滤镜 使用Xray滤镜可以让对象反映出它的轮廓并把这些轮廓加亮,类似于所谓的“X”光片。 Xray 滤镜语法 {filter:xray} 9、Mask 滤镜 Mask 滤镜语法 {filter:mask(color=color)} 使用"MASK"属性可以为对象建立一个覆盖于表面的膜,其效果就象戴着有色眼镜看物体一样 。 10、Light 滤镜 Light 滤镜语法 {filter:light} 这个属性模拟光源的投射效果。一旦为对象定义了“LIGHT"滤镜属性,那么就可以调用它的“方法(Method)"来设置或者改变属性。“LIGHT"可用的方法有: 参数 说明 AddAmbient 加入包围的光源 AddCone 加入锥形光源 AddPoint 加入点光源 Changcolor 改变光的颜色 Changstrength 改变光源的强度 Clear 清除所有的光源 MoveLight 移动光源 我们可以定义光源的虚拟位置,以及通过调整X轴和Y轴的数值来控制光源焦点的位置,还可以调整光源的形式(点光源或者锥形光源)指定光源是否模糊边界、光源的颜色、亮度等属性。如果动态的设置光源,可能会产生一些意想不到的效果。 11、Shadow 滤镜 Shadow 滤镜 语法 {filter:shadow(color=color,direction=direction)} 利用“Shadow”属性可以在指定的方向建立物体的投影,COLOR是投影色,DIRECTION是设置投影的方向。其中0度代表垂直向上,然后每45度为一个单位。它的默认值是向左的270度。 12、Wave 滤镜 Wave 滤镜 语法 {filter:wave(add=add,freq=freq, lightstrength=strength, phase=phase,strength=strength)} 参数 说明 wave 把对象按垂直的波形样式打乱。 默认是 TRUE(非0) ADD 是否要把对象按照波形样式打乱 FREQ 波纹的频率,也就是指定在对象上一共需要产生多少个完整的波纹 LIGHTSTRENGTH 可以对于波纹增强光影的效果,范围0----100 PHASE 设置正弦波的偏移量 STRENGTH 振幅大小 答案来源于网络

养狐狸的猫 2019-12-02 03:01:52 0 浏览量 回答数 0

回答

用3d相册 MainActivity: package com.android.CustomGallery; /** 一个实现了3D效果的Gallery,就像iPhone中的相册浏览一样炫…… */ import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); int[] images = { R.drawable.photo1, R.drawable.photo2, R.drawable.photo3, R.drawable.photo4, R.drawable.photo5, R.drawable.photo6, R.drawable.photo7, R.drawable.photo8, }; ImageAdapter adapter = new ImageAdapter(this, images); adapter.createReflectedImages(); GalleryFlow galleryFlow = (GalleryFlow) findViewById(R.id.gallery_flow); galleryFlow.setAdapter(adapter); } } main.xml: <?xml version="1.0" encoding="utf-8"?> android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > android:id="@+id/gallery_flow" android:layout_width="fill_parent" android:layout_height="fill_parent" /> GalleryFlow: package com.android.CustomGallery; import android.content.Context; import android.graphics.Camera; import android.graphics.Matrix; import android.util.AttributeSet; import android.util.Log; import android.view.View; import android.view.animation.Transformation; import android.widget.Gallery; import android.widget.ImageView; public class GalleryFlow extends Gallery { /** * Graphics Camera used for transforming the matrix of ImageViews */ private Camera mCamera = new Camera(); /** * The maximum angle the Child ImageView will be rotated by */ private int mMaxRotationAngle = 50; /** * The maximum zoom on the centre Child */ private int mMaxZoom = -250; /** * The Centre of the Coverflow */ private int mCoveflowCenter; public GalleryFlow(Context context) { super(context); this.setStaticTransformationsEnabled(true); } public GalleryFlow(Context context, AttributeSet attrs) { super(context, attrs); this.setStaticTransformationsEnabled(true); } public GalleryFlow(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); this.setStaticTransformationsEnabled(true); } /** * Get the max rotational angle of the image * * @return the mMaxRotationAngle */ public int getMaxRotationAngle() { return mMaxRotationAngle; } /** * Set the max rotational angle of each image * * @param maxRotationAngle * the mMaxRotationAngle to set */ public void setMaxRotationAngle(int maxRotationAngle) { mMaxRotationAngle = maxRotationAngle; } /** * Get the Max zoom of the centre image * * @return the mMaxZoom */ public int getMaxZoom() { return mMaxZoom; } /** * Set the max zoom of the centre image * * @param maxZoom * the mMaxZoom to set */ public void setMaxZoom(int maxZoom) { mMaxZoom = maxZoom; } /** * Get the Centre of the Coverflow * * @return The centre of this Coverflow. */ private int getCenterOfCoverflow() { //Log.e("CoverFlow Width+Height", getWidth() + "*" + getHeight()); return (getWidth() - getPaddingLeft() - getPaddingRight()) / 2 + getPaddingLeft(); } /** * Get the Centre of the View * * @return The centre of the given view. */ private static int getCenterOfView(View view) { /*Log.e("ChildView Width+Height", view.getWidth() + "*" + view.getHeight());*/ return view.getLeft() + view.getWidth() / 2; } /** * {@inheritDoc} * * @see #setStaticTransformationsEnabled(boolean) */ protected boolean getChildStaticTransformation(View child, Transformation t) { final int childCenter = getCenterOfView(child); final int childWidth = child.getWidth(); int rotationAngle = 0; t.clear(); t.setTransformationType(Transformation.TYPE_MATRIX); if (childCenter == mCoveflowCenter) { transformImageBitmap((ImageView) child, t, 0); } else { rotationAngle = (int) (((float) (mCoveflowCenter - childCenter) / childWidth) * mMaxRotationAngle); if (Math.abs(rotationAngle) > mMaxRotationAngle) { rotationAngle = (rotationAngle < 0) ? -mMaxRotationAngle: mMaxRotationAngle; } transformImageBitmap((ImageView) child, t, rotationAngle); } return true; } /** * This is called during layout when the size of this view has changed. If * you were just added to the view hierarchy, you're called with the old * values of 0. * * @param w * Current width of this view. * @param h * Current height of this view. * @param oldw * Old width of this view. * @param oldh * Old height of this view. */ protected void onSizeChanged(int w, int h, int oldw, int oldh) { mCoveflowCenter = getCenterOfCoverflow(); super.onSizeChanged(w, h, oldw, oldh); } /** * Transform the Image Bitmap by the Angle passed * * @param imageView * ImageView the ImageView whose bitmap we want to rotate * @param t * transformation * @param rotationAngle * the Angle by which to rotate the Bitmap */ private void transformImageBitmap(ImageView child, Transformation t, int rotationAngle) { mCamera.save(); final Matrix imageMatrix = t.getMatrix(); final int imageHeight = child.getLayoutParams().height; final int imageWidth = child.getLayoutParams().width; final int rotation = Math.abs(rotationAngle); // 锟斤拷Z锟斤拷锟斤拷锟斤拷锟斤拷锟狡讹拷camera锟斤拷锟接角o拷实锟斤拷效锟斤拷为锟脚达拷图片锟斤拷 // 锟斤拷锟斤拷锟結锟斤拷锟斤拷锟狡讹拷锟斤拷锟斤拷图片锟斤拷锟斤拷锟狡讹拷锟斤拷X锟斤拷锟较讹拷应图片锟斤拷锟斤拷锟狡讹拷锟斤拷 mCamera.translate(0.0f, 0.0f, 100.0f); // As the angle of the view gets less, zoom in if (rotation < mMaxRotationAngle) { float zoomAmount = (float) (mMaxZoom + (rotation * 1.5)); mCamera.translate(0.0f, 0.0f, zoomAmount); ((ImageView) (child)).setAlpha((int) (255 - rotation * 2.5)); } // 锟斤拷Y锟斤拷锟斤拷锟斤拷转锟斤拷锟斤拷应图片锟斤拷锟斤拷锟斤拷锟斤翻转锟斤拷 // 锟斤拷锟斤拷锟絏锟斤拷锟斤拷锟斤拷转锟斤拷锟斤拷锟接ν计拷锟斤拷锟斤拷锟斤拷锓拷锟� mCamera.rotateY(rotationAngle); mCamera.getMatrix(imageMatrix); // Preconcats matrix锟洁当锟斤拷锟揭乘撅拷锟斤拷Postconcats matrix锟洁当锟斤拷锟斤拷司锟斤拷锟� imageMatrix.preTranslate(-(imageWidth / 2), -(imageHeight / 2)); imageMatrix.postTranslate((imageWidth / 2), (imageHeight / 2)); mCamera.restore(); } } ImageAdapter: package com.android.CustomGallery; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.LinearGradient; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.PorterDuffXfermode; import android.graphics.Bitmap.Config; import android.graphics.PorterDuff.Mode; import android.graphics.Shader.TileMode; import android.graphics.drawable.BitmapDrawable; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; /* Copyright (C) 2010 Neil Davies * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. This code is base on the Android Gallery widget and was Created by Neil Davies neild001 'at' gmail dot com to be a Coverflow widget @author Neil Davies */ public class ImageAdapter extends BaseAdapter { int mGalleryItemBackground; private Context mContext; private int[] mImageIds; private ImageView[] mImages; public ImageAdapter(Context c, int[] ImageIds) { mContext = c; mImageIds = ImageIds; mImages = new ImageView[mImageIds.length]; } public boolean createReflectedImages() { // The gap we want between the reflection and the original image final int reflectionGap = 4; int index = 0; for (int imageId : mImageIds) { Bitmap originalImage = BitmapFactory.decodeResource(mContext .getResources(), imageId); int width = originalImage.getWidth(); int height = originalImage.getHeight(); // This will not scale but will flip on the Y axis Matrix matrix = new Matrix(); matrix.preScale(1, -1); // Create a Bitmap with the flip matrix applied to it. // We only want the bottom half of the image Bitmap reflectionImage = Bitmap.createBitmap(originalImage, 0, height / 2, width, height / 2, matrix, false); // Create a new bitmap with same width but taller to fit // reflection Bitmap bitmapWithReflection = Bitmap.createBitmap(width, (height + height / 2), Config.ARGB_8888); // Create a new Canvas with the bitmap that's big enough for // the image plus gap plus reflection Canvas canvas = new Canvas(bitmapWithReflection); // Draw in the original image canvas.drawBitmap(originalImage, 0, 0, null); // Draw in the gap Paint deafaultPaint = new Paint(); canvas.drawRect(0, height, width, height + reflectionGap, deafaultPaint); // Draw in the reflection canvas.drawBitmap(reflectionImage, 0, height + reflectionGap, null); // Create a shader that is a linear gradient that covers the // reflection Paint paint = new Paint(); LinearGradient shader = new LinearGradient(0, originalImage .getHeight(), 0, bitmapWithReflection.getHeight() + reflectionGap, 0x70ffffff, 0x00ffffff, TileMode.CLAMP); // Set the paint to use this shader (linear gradient) paint.setShader(shader); // Set the Transfer mode to be porter duff and destination in paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN)); // Draw a rectangle using the paint with our linear gradient canvas.drawRect(0, height, width, bitmapWithReflection.getHeight() + reflectionGap, paint); //锟斤拷锟酵计拷木锟斤拷锟斤拷锟斤拷 BitmapDrawable bd = new BitmapDrawable(bitmapWithReflection); bd.setAntiAlias(true); ImageView imageView = new ImageView(mContext); //imageView.setImageBitmap(bitmapWithReflection); imageView.setImageDrawable(bd); imageView.setLayoutParams(new GalleryFlow.LayoutParams(160, 240)); // imageView.setScaleType(ScaleType.MATRIX); mImages[index++] = imageView; } return true; } public int getCount() { return mImageIds.length; } public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { // Use this code if you want to load from resources /* * ImageView i = new ImageView(mContext); * i.setImageResource(mImageIds[position]); i.setLayoutParams(new * CoverFlow.LayoutParams(350,350)); * i.setScaleType(ImageView.ScaleType.CENTER_INSIDE); * * //Make sure we set anti-aliasing otherwise we get jaggies * BitmapDrawable drawable = (BitmapDrawable) i.getDrawable(); * drawable.setAntiAlias(true); return i; */ return mImages[position]; } /** Returns the size (0.0f to 1.0f) of the views depending on the 'offset' to the center. / public float getScale(boolean focused, int offset) { / Formula: 1 / (2 ^ offset) */ return Math.max(0, 1.0f / (float) Math.pow(2, Math.abs(offset))); } }

爵霸 2019-12-02 02:20:17 0 浏览量 回答数 0

问题

【今日算法】备战大厂必备题目,持续更新

游客ih62co2qqq5ww 2020-04-08 09:21:40 3542 浏览量 回答数 4

问题

【javascript学习全家桶】934道javascript热门问题,阿里百位技术专家答疑解惑

管理贝贝 2019-12-01 20:07:22 6202 浏览量 回答数 1

问题

【Java学习全家桶】1460道Java热门问题,阿里百位技术专家答疑解惑

管理贝贝 2019-12-01 20:07:15 27612 浏览量 回答数 19
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 云栖号物联网 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 云栖号弹性计算 阿里云云栖号 云栖号案例 云栖号直播