我不认为只使用SpriteBatch中的颜色设置是可能的,所以我正在尝试制作一个简单的着色器,它会占用每个像素并使其成为白色,同时尊重像素的alpha值.
Joel Martinez给出的答案看起来是正确的,但是当我用SpriteBatch绘制精灵时,如何将其合并?
我一直在寻找这个网站和其他如何设置导航栏色调变化,我已经看到的例子,但不是我需要的所以任何帮助将不胜感激.
在我的应用代表我有:
@synthesize window;
@synthesize tabBarController;
@synthesize navigationController;
@synthesize navigationController1;
@synthesize navigationController2;
@synthesize viewController;
@synthesize viewController2;
@synthesize viewController3;
#pragma mark -
#pragma mark Application lifecycle
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions {
// Override point for customization after application launch.
// Set the tab bar controller as the window's root view controller and display.
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
当我self.navigationController.navigationBar setTintColor:[UIColor blackColor]在上面输入代码时,它只会改变我的一个导航控制器而不是我需要的那个.
我的tabbar上有7个项目,当我按下"MORE ..."时,我得到一个表格视图,其他项目不适合主屏幕,导航栏会自动添加,无论我做什么我无法更改此导航栏色调,我可以更改我拥有@synthesize但没有自动输入的那个.
有人可以告诉我如何更改自动放置的导航栏吗?
我的项目需要在2个不同的全局色调值之间切换.我该如何以编程方式执行此操作?
我正在使用Xcode 6 GM.添加具有此类默认设置的搜索栏

然后我在属性检查器中将条形色调更改为"清除颜色",然后它变为此

回到Xcode 5.1,相同的条纹色调变化看起来更直观,因为清晰的颜色意味着透视.

这是新的Xcode的某种错误或预期的变化吗?
我试图将可绘制的 PNG 图像表单加载到 ImageView 中,并使用以下代码为此 ImageView 设置色调颜色?它正在工作:
imageView1.setImageResource(R.drawable.pngFile);
imageView1.setColorFilter(getResources().getColor(R.color.colorAccent), android.graphics.PorterDuff.Mode.MULTIPLY);
Run Code Online (Sandbox Code Playgroud)
我想使用 Glide 将 SVG 图像加载到 ImageView 并为其设置色调。但是在成功将 SVG 图像加载到 imageView 后,setColorFilter NOT WORKING。
我可以使用 Glide 和以下代码将 SVG 图像加载到另一个 ImageView 中:
// Setup RequestBuilder
requestBuilder = Glide.with(mActivity)
.using(Glide.buildStreamModelLoader(Uri.class, mActivity),
InputStream.class)
.from(Uri.class)
.as(SVG.class)
.transcode(new SvgDrawableTranscoder(), PictureDrawable.class)
.sourceEncoder(new StreamEncoder())
.cacheDecoder(new FileToStreamDecoder<SVG>(new SvgDecoder()))
.decoder(new SvgDecoder())
.placeholder(R.drawable.ic_facebook)
.error(R.drawable.ic_web)
.animate(android.R.anim.fade_in)
.listener(new SvgSoftwareLayerSetter<Uri>());
// Use RequestBuilder with uri
Uri uri = Uri.parse("http://upload.wikimedia.org/wikipedia/commons/e/e8/Svg_example3.svg");
requestBuilder
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.load(uri)
.into(imageView2);
Run Code Online (Sandbox Code Playgroud)
现在,我想更改 mageView2 的色调颜色(在成功将 SVG 图像加载到 imageView2 后),我尝试了以下代码但 …
我有alpha纹理.我想用一些颜色着色它,因此它将根据颜色的alpha值进行着色,但是总体不透明度将仅由纹理alpha定义.
这类似于多纹理,但使用颜色而不是第二纹理.怎么做?
(更新)我试图设置纹理合并器.颜色很好,但是有alpha的问题 - 它不会从纹理(如蒙版)中获取值.我的代码在这一刻:
glActiveTexture (GL_TEXTURE0); // do we need stage #1?
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_INTERPOLATE);
glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, (GLfloat*) &tintColor_);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_RGB, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC1_RGB, GL_CONSTANT);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC2_RGB, GL_CONSTANT);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_RGB, GL_ONE_MINUS_SRC_ALPHA);
// this doesn't work for alpha:
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_REPLACE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_ALPHA, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA, GL_SRC_ALPHA);
Run Code Online (Sandbox Code Playgroud)
截图:
没有着色:

RGBA =(0,0.5,1,0.5)的色调:

我想知道什么是去饱和UIView的最佳方法 - 尤其是应用了自定义外观的UISliderView.在iOS 7中,当另一个视图出现在它们上方时,标准控件淡出其色调颜色(例如,共享表或UIAlertView),但由于我是从UIImages构建的,因此色调属性不适用于它,并且它们仍然存在饱和.有没有一种好的,简单的方法去减少这种情况,而不是重新应用新的UIAppearance呢?(如果我去那条路,我是否能够设置从彩色图像到灰度图像的过渡动画?)
提前致谢!
我正在使用DrawableCompat.wrap在pre Lollipop中为drawables设置色调,它工作正常.DrawableCompat.unwrap在Lollipop之前无效.在色调之前我无法获得原始的drawable.
例如:
if (v.isSelected()){
Drawable normalDrawable = getResources().getDrawable(R.drawable.sample);
Drawable wrapDrawable = DrawableCompat.wrap(normalDrawable);
DrawableCompat.setTint(wrapDrawable, getResources().getColor(R.color.sample_color));
imageButton.setImageDrawable(wrapDrawable);
}else{
Drawable normalDrawable = imageButton.getDrawable();
Drawable unwrapDrawable = DrawableCompat.unwrap(normalDrawable);
imageButton.setImageDrawable(unwrapDrawable);
}
Run Code Online (Sandbox Code Playgroud)
在前棒棒糖设备中,DrawableCompact.unwrap返回带有色调的drawable而不是原始色素
android tint drawable android-support-library android-5.0-lollipop
我不确定是否有人遇到过这种行为,但iOS9正在使我的UIAlertController色调从主窗口继承.是否有任何特定的方式,如UIAppearance,可以帮助和解决问题.
[[UICollectionViewCell appearanceWhenContainedIn:[UIAlertController class], nil] setTintColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:1]];
Run Code Online (Sandbox Code Playgroud) 使用ImageView/ ImageButton(AppCompatImageView/ AppCompatImageButton),其与一个风格属性的结合android:tint,这使得使用的ColorStateList资源工作在> = API 21细,但将引发InflateException对API <21.
首先,我甚至不知道AppCompatImageView / (Button)着色是否支持ColourStateListxml资源作为android:tint值,我似乎无法找到明确的答案.我可以在S/O上找到的建议建议实现TintableImageView等,但是这些答案已经过时了,而且从appcompat实现的来源看来,这应该是一个功能.
澄清这绝对是个问题.删除android:tint属性或将其设置为单个颜色资源有效.
另外要澄清一下,我知道这是可以通过编程实现的.我试图让它在xml中向后兼容.
<android.support.v7.widget.AppCompatImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_caret_up"
style="@style/IconButton.Primary"
/>
Run Code Online (Sandbox Code Playgroud)
<style name="IconButton.Primary">
<item name="android:tint">@color/link_button_color</item>
</style>
Run Code Online (Sandbox Code Playgroud)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/btnLinkPressedTextColor"
android:state_selected="true" />
<item android:color="@color/btnLinkPressedTextColor"
android:state_pressed="true" />
<item android:color="@color/btnLinkTextColor" />
</selector>
Run Code Online (Sandbox Code Playgroud) tint ×10
android ×3
ios ×3
colors ×2
c# ×1
drawable ×1
imageview ×1
ios8 ×1
ios9 ×1
mask ×1
objective-c ×1
opengl-es ×1
shader ×1
storyboard ×1
svg ×1
textures ×1
uiappearance ×1
uisearchbar ×1
uistoryboard ×1
uiview ×1
xcode ×1
xcode6 ×1
xna ×1