- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Spinner 选择滤镜效果列表,如 Sapia、GrayScale...等
图像过滤器代码适用于可绘制图像的个别效果。
我想将这些效果应用于从图库中挑选的选定图像。
MainFrameActivity.java
filtSp=(Spinner)findViewById(R.id.spnrFilter);
photoImage1 = (ImageView) findViewById(R.id.ImageV);
photoImage2 = (ImageView) findViewById(R.id.ImageV1);
filtSp.setAdapter(new MyFAdapter(MainFrameActivity.this, R.layout.frowview, Filtef));
filtSp.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v,
int position, long arg3) {
selectFitem=parent.getItemAtPosition(position).toString();
if(photoImage1!=null) {
if(selectFitem.equals("Sapia" ) {
bitmap1=BitmapFactory.decodeResource(getResources(), R.id.photoImage);
bitmap_tmp=EffectsActivity.applySapia(MainActivity.this.bitmap1, 50, 2.2, 0, 2.2);
photoImage1.setImageBitmap(bitmap_tmp);
}
else if(selectFitem.equals("Greyscale" ) {
bitmap1=BitmapFactory.decodeResource(getResources(), R.id.photoImage);
bitmap_tmp=EffectsActivity.applyGscale(MainActivity.this.bitmap1);
photoImage1.setImageBitmap(bitmap_tmp);
}
}
else if(photoImage2!=null) {
if(selectFitem.equals("Sapia" ) {
bitmap2=BitmapFactory.decodeResource(getResources(), R.id.photoImage2);
bitmap_tmp=EffectsActivity.applySapia(MainActivity.this.bitmap2, 50, 2.2, 0, 2.2);
photoImage2.setImageBitmap(bitmap_tmp);
}
else if(selectFitem.equals("Greyscale" ) {
bitmap2=BitmapFactory.decodeResource(getResources(), R.id.photoImage2);
bitmap_tmp=EffectsActivity.applyGscale(MainActivity.this.bitmap2);
photoImage2.setImageBitmap(bitmap_tmp);
}
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
public class MyFAdapter extends ArrayAdapter<String>{
public MyFAdapter(Context context, int resource, String[] objects) {
super(context, resource, objects);
// TODO Auto-generated constructor stub
}
@Override
public View getDropDownView(int position, View convertView,ViewGroup parent) {
return getCustomView(position, convertView, parent);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return getCustomView(position, convertView, parent);
}
public View getCustomView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater=getLayoutInflater();
View row=inflater.inflate(R.layout.frowview, parent, false);
TextView label=(TextView)row.findViewById(R.id.company);
label.setText(Filtef[position]);
ImageView icon=(ImageView)row.findViewById(R.id.image);
icon.setImageResource(arry_Eff[position]);
return row;
}
}
这是 OnCreate() 中的所有内容
问题是使用微调器时效果不适用于图像图片滤镜效果使用自http://xjaphx.wordpress.com/2011/06/21/image-processing-photography-sepia-toning-effect/
错误日志:
12-11 11:00:58.207: E/AndroidRuntime(15784): FATAL EXCEPTION: main
12-11 11:00:58.207: E/AndroidRuntime(15784): java.lang.NullPointerException
12-11 11:00:58.207: E/AndroidRuntime(15784): at com.Myframes.MyEffects.applySepiaEffect(MyEffects.java:128)
12-11 11:00:58.207: E/AndroidRuntime(15784): at com.Myframes.MainFrameActivity$1.onItemSelected(MainFrameActivity.java:301)
12-11 11:00:58.207: E/AndroidRuntime(15784): at android.widget.AdapterView.fireOnSelected(AdapterView.java:892)
12-11 11:00:58.207: E/AndroidRuntime(15784): at android.widget.AdapterView.access$200(AdapterView.java:49)
12-11 11:00:58.207: E/AndroidRuntime(15784): at android.widget.AdapterView$SelectionNotifier.run(AdapterView.java:860)
12-11 11:00:58.207: E/AndroidRuntime(15784): at android.os.Handler.handleCallback(Handler.java:615)
12-11 11:00:58.207: E/AndroidRuntime(15784): at android.os.Handler.dispatchMessage(Handler.java:92)
12-11 11:00:58.207: E/AndroidRuntime(15784): at android.os.Looper.loop(Looper.java:137)
12-11 11:00:58.207: E/AndroidRuntime(15784): at android.app.ActivityThread.main(ActivityThread.java:4895)
12-11 11:00:58.207: E/AndroidRuntime(15784): at java.lang.reflect.Method.invokeNative(Native Method)
12-11 11:00:58.207: E/AndroidRuntime(15784): at java.lang.reflect.Method.invoke(Method.java:511)
12-11 11:00:58.207: E/AndroidRuntime(15784): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994)
12-11 11:00:58.207: E/AndroidRuntime(15784): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
12-11 11:00:58.207: E/AndroidRuntime(15784): at dalvik.system.NativeStart.main(Native Method)
我的效果.java
public class MyEffects {
public static Bitmap applyGscale(Bitmap src) {
// constant factors
final double GS_RED = 0.299;
final double GS_GREEN = 0.587;
final double GS_BLUE = 0.114;
// create output bitmap
Bitmap bmOut = Bitmap.createBitmap(src.getWidth(), src.getHeight(), src.getConfig());
// pixel information
int A, R, G, B;
int pixel;
// get image size
int width = src.getWidth();
int height = src.getHeight();
// scan through every single pixel
for(int x = 0; x < width; ++x) {
for(int y = 0; y < height; ++y) {
// get one pixel color
pixel = src.getPixel(x, y);
// retrieve color of all channels
A = Color.alpha(pixel);
R = Color.red(pixel);
G = Color.green(pixel);
B = Color.blue(pixel);
// take conversion up to one single value
R = G = B = (int)(GS_RED * R + GS_GREEN * G + GS_BLUE * B);
// set new pixel color to output bitmap
bmOut.setPixel(x, y, Color.argb(A, R, G, B));
}
}
// return final image
return bmOut;
}
public static Bitmap applySapia(Bitmap src, int depth, double red, double green, double blue) {
// image size
int width = src.getWidth();
int height = src.getHeight();
// create output bitmap
Bitmap bmOut = Bitmap.createBitmap(width, height, src.getConfig());
// constant grayscale
final double GS_RED = 0.3;
final double GS_GREEN = 0.59;
final double GS_BLUE = 0.11;
// color information
int A, R, G, B;
int pixel;
// scan through all pixels
for(int x = 0; x < width; ++x) {
for(int y = 0; y < height; ++y) {
// get pixel color
pixel = src.getPixel(x, y);
// get color on each channel
A = Color.alpha(pixel);
R = Color.red(pixel);
G = Color.green(pixel);
B = Color.blue(pixel);
// apply grayscale sample
B = G = R = (int)(GS_RED * R + GS_GREEN * G + GS_BLUE * B);
// apply intensity level for sepid-toning on each channel
R += (depth * red);
if(R > 255) { R = 255; }
G += (depth * green);
if(G > 255) { G = 255; }
B += (depth * blue);
if(B > 255) { B = 255; }
// set new pixel color to output image
bmOut.setPixel(x, y, Color.argb(A, R, G, B));
}
}
// return final image
return bmOut;
}
最佳答案
photoImage2
未初始化给您 NullPointerException
。
photoImage1
被初始化了两次。
photoImage1 = (ImageView) findViewById(R.id.ImageV);
photoImage1 = (ImageView) findViewById(R.id.ImageV1);
所以你可能想改变这个
photoImage1 = (ImageView) findViewById(R.id.ImageV1);
到
photoImage2 = (ImageView) findViewById(R.id.ImageV1);
关于android - 将滤镜效果应用于 Gallery 中的 Android ImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20515710/
我正在使用 Inkscape 0.91。我想使用 Filters -> ABC 的 Noise Transparency 效果,但此较高版本的 Inkscape 中不存在该效果。我在网上看到,在更高的
SVG 滤镜 可以给 SVG 图形的添加特殊效果 SVG 滤镜 SVG有很多的滤镜,但本教程只会展示其中的两三种,其他的需要你可以依葫芦画瓢的使用 我们只需要记住 SVG 能提供什么样的滤镜,然
前言 本文主要给大家介绍了关于ios图片压缩、滤镜、剪切及渲染的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 主要内容: 1、图片基础知识的介绍 2、图片压缩
我想使用 VP8 在我的应用程序中编码视频。我在我的应用程序中使用 RGB24 格式,但 VP8 DirectShow 过滤器只接受 YUV 格式 (http://www.webmproject.or
我想要一个带有白色外发光的黑色文本,以便在彩色 map 上可读。这就是我以前所做的: Harald's Repose Harald's Repose 我想避免重复文本元素,因
如果我使用 camanJS 在图像上应用滤镜,一切都很好,但是当我单击第二个滤镜时,它需要返回到原始图像并将其应用到该图像上,但目前它将第二个滤镜放在仍具有第一个滤镜的图像。 这是我的 html 部分
我有 3 个 System.Drawing.Bitmap 对象。 RGB 前景、RGB 背景和每像素蒙版图像一个字节,其中 0 表示采用背景像素,1 表示采用前景像素。这三个都是相同的维度。 我选择使
谁能确认 Android BlurMaskFilter方法基于高斯模糊(而不是平均模糊)?我真的很惊讶这里的文档并不明确。 最佳答案 引用代码here ,我可以假设它是基于高斯模糊方法。 我完全同意您
本质上,我正在尝试使用 SVG 和 CSS ( like this ) 创建一个渐变 alpha 蒙版,因为 mask 属性是 no longer on the standards跟踪我正在探索 fi
我正在使用CSSGram在我的网站上使图像具有类似 Instagram 的滤镜。下面是向图像添加滤镜的方法: 如何将这种效果添加到网页中的所有图像,而不是使用 在每个图像之前,以及许多图像
我有一组带有背景图像的元素,这些元素上有一个 SVG 滤镜,使背景图像变灰。我需要它,以便当您将鼠标悬停在该元素上时,该 SVG 滤镜会淡化为透明,因此原始彩色图像会在没有滤镜的情况下显示。不幸的是,
如何访问 OpenCV 扩展图像处理模块?我特别需要一个过滤器:fastGlobalSmootherFilter。 我已将 OpenCV 3.2.0 合并到我的 C++ 项目中。我正在寻找这种方法:
看看下面的 CodePen 演示:http://codepen.io/anon/pen/vLPGpZ 这是我的代码: body { position: absolute; top:
请建议我如何在 Android 相机的运行时应用照片效果/滤镜?无需使用 JNI 、 OpenGl 和 open CV 。我只需要通过 Java 代码应用效果。 最佳答案 步骤 1. 将帧从 NV21
我正在尝试沿着特定路径在 Opengl 中渲染点 Sprite 。我将 Sprite 定义为 2D 纹理,并将其设置为使用 GL_NEAREST 作为 mag/min 过滤器。我还定义了一个包含一些
我想实现这样的目标: 此图片来自this应用程序。 我的问题是,我应该依赖像 this 这样的东西吗? ,自己做,或者即使有其他一些我不知道的第三个库,也可以推荐。 我试图获得更多的意见,而不是实际的
我使用 Pixastic 来更改 Canvas 上图像的亮度和对比度等简单效果。 但是,我一直没能找到将这些效果一起应用的方法。例如。应用亮度然后在这个已经变亮的图像上应用对比度,而不是原始图像。 使
我在使用 Core image 时遇到了问题。我正在做的是从 UIImageView 获取图像,然后使用我在教程中找到的一些代码(我是核心图像的新手)但是我想在我尝试时将棕褐色图像放回同一个 UIIm
我这里有一张图片: 我想在网站 theverge.com 中复制 css 样式(见下图) 我将在我的博客(主页)中使用它,因为我正在尝试复制 theverge.com 网站的内容。这就像在半透明渐变和
我想使用聚光灯效果,但它似乎只在 Chrome 中有效,在 Firefox 中看起来“刚刚好”,但在 Safari 中无法定位 (x,y,z)。 (其他浏览器未测试) 我尝试了不同的滤镜和原始单位,虽
我是一名优秀的程序员,十分优秀!