标签: transparent

如何使用PIL获取PNG图像的alpha值?

如何使用PIL检测PNG图像是否具有透明的alpha通道?

img = Image.open('example.png', 'r')
has_alpha = img.mode == 'RGBA'
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,我们知道PNG图像是否具有alpha通道,但是如何获得alpha值?

我没有在PIL网站上描述的img.info字典中找到"透明度"键

我正在使用Ubuntu和zlib1g,已经安装了zlibc软件包.

python png image transparent python-imaging-library

21
推荐指数
2
解决办法
3万
查看次数

为UILabel为iphone应用程序设置透明背景

我在UITableView中有一个UILabel.这是我在cellForRowAtIndexPath中编写的代码

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithFrame:CGRectMake(30.0, 5.0, 250.0, 35.0) reuseIdentifier:CellIdentifier] autorelease];
    }   


    CGRect rect = CGRectMake(30.0, 5.0, 250.0, 35.0);
    UILabel *label = [[UILabel alloc] initWithFrame:rect];

    label.opaque = NO;  
    label.font = [UIFont systemFontOfSize:14];
    label.numberOfLines = 2;
    label.textAlignment = UITextAlignmentCenter;            
    label.textColor = [UIColor darkGrayColor];
    label.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0];
    [label setText:@"Test Message"];    

    [cell addSubview:label];
    [label release];
    cell.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;    
Run Code Online (Sandbox Code Playgroud)

我的目的是将单元格和UILabel的背景设置为透明.

但它没有用.任何人都可以告诉我这里缺少什么

谢谢

桑迪普

transparent uilabel

21
推荐指数
1
解决办法
3万
查看次数

AChartEngine透明背景

我有个问题.我正在用AChartEngine创建一个图形,我希望整个图形的背景是透明的:

XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
(...)
renderer.setMargins(new int[]{0,0,0,0});
renderer.setApplyBackgroundColor(true);
renderer.setMarginsColor(Color.TRANSPARENT);
renderer.setBackgroundColor(Color.TRANSPARENT);
(...)
GraphicalView g = ChartFactory.getTimeChartView(this, dataset, renderer, "dd/MM");
Run Code Online (Sandbox Code Playgroud)

但它无法正常工作:

在此输入图像描述

如您所见,x标签后面出现了一个黑框.我究竟做错了什么?

谢谢,
yellos

android background transparent achartengine

21
推荐指数
1
解决办法
7198
查看次数

Android Image Dialog/Popup与图像大小相同,没有边框

目前我正在使用文件浏览器.一切正常,只有一个例外:如果用户点击图像(jpg,png,bmp,..),我希望图像显示在对话框或弹出窗口中,其大小与图像相同 - 这样根本没有边界.图像文件位于SD卡上.

这是我到目前为止:

BitmapDrawable bitmap = new BitmapDrawable(context.getResources(), TARGET_PATH);

AlertDialog.Builder imageDialog = new AlertDialog.Builder(context);
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

View layout = inflater.inflate(R.layout.thumbnail, null);
ImageView image = (ImageView) layout.findViewById(R.id.thumbnail_IMAGEVIEW);
image.setImageDrawable(bitmap);
imageDialog.setView(layout);
imageDialog.create();
imageDialog.show();
Run Code Online (Sandbox Code Playgroud)

XML文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/thumbnail_IMAGEVIEW"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:contentDescription="@string/icon_DESCRIPTION" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

这是输出:

失败输出

图像的边缘有丑陋的边框 - 我不希望它们被显示出来.我尝试了很多东西和谷歌等列出的例子. - 没有任何工作.

最好的选择是在图像后面制作对话框/视图,大小与图像相同.另一种方法是将图像背后的背景设置为透明.

我如何实现任何解决方案?我喜欢让背景与图像大小相同,所以没有留下"隐形"的东西,但我也可以使用透明选项.


解:

// Get screen size
Display display = context.getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int screenWidth = size.x;
int …
Run Code Online (Sandbox Code Playgroud)

android dialog image popup transparent

21
推荐指数
1
解决办法
1万
查看次数

触摸时使某个位图区域透明

我的想法是将两个图像重叠在一起,并且在onTouch上,顶部图像应该在触摸的半径上变得透明,从而暴露底部图像.

这是我叠加2张图片的方式:

        Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig());
        Canvas canvas = new Canvas(bmOverlay);
        canvas.drawBitmap(bmp1, new Matrix(), null);
        canvas.drawBitmap(bmp2, new Matrix(), null);
Run Code Online (Sandbox Code Playgroud)

我已经查看了这篇文章,并在下面使用Paint来使其透明:

        mPaint = new Paint();
        mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC));
        mPaint.setColor(Color.TRANSPARENT);
        mPaint.setAntiAlias(true); 

public void onDraw(Canvas canvas) {
            canvas.drawCircle(40, 40, 30, mPaint); //hardcode to test
}
Run Code Online (Sandbox Code Playgroud)

问题是,我认为圆圈直接使2个图像在定义的半径上透明,我怎样才能使顶部位图透明?

android paint bitmap transparent

20
推荐指数
1
解决办法
3万
查看次数

Android对话 - 圆角和透明度

我正在尝试使用圆角制作自定义的android对话框.我目前的尝试给了我这个结果.

圆角对话框

正如您所看到的,角落是圆的,但它仍然保持完整的白色角落.

下面是我放在drawable文件夹中的xml,用于创建带有圆角的红色边框的蓝色对话框.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item> 
        <shape 
            android:shape="rectangle">
            <solid android:color="@color/transparent_black" />
            <corners android:radius="@dimen/border_radius"/>
        </shape>
    </item>   
    <item 
        android:left="@dimen/border_width" 
        android:right="@dimen/border_width"  
        android:top="@dimen/border_width"
        android:bottom="@dimen/border_width" >  

        <shape android:shape="rectangle"> 
            <solid android:color="@color/blue" />
            <corners android:radius="@dimen/border_radius"/>
        </shape>
    </item>    
</layer-list>
Run Code Online (Sandbox Code Playgroud)

下面是对话框的布局.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/fill"
android:orientation="vertical"
android:layout_margin="@dimen/spacing_normal"
android:padding="@dimen/spacing_normal"

android:background="@drawable/border_error_dialog" >

<RelativeLayout 
    style="@style/block"
    android:layout_gravity="center" >

    <ImageView
        android:id="@+id/imageView1"
        style="@style/wrap"
        android:layout_alignParentLeft="true"
        android:layout_centerHorizontal="true"
        android:contentDescription="@string/content_description_filler"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/textView1"
        style="@style/error_text"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@+id/imageView1"
        android:text="@string/error_login" />

</RelativeLayout>

<Button
    android:id="@+id/button1"
    style="@style/wrap"
    android:layout_gravity="center"
    android:text="Button" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

以下是我创建对话框的Activity.

@Override
protected void onCreate(Bundle savedInstanceState) { …
Run Code Online (Sandbox Code Playgroud)

android dialog transparent android-layout android-alertdialog

20
推荐指数
4
解决办法
3万
查看次数

在Java Graphics2D中绘制透明图像

我想在另一个上面绘制一个部分透明的图像(在物体上制作阴影).我目前正在使用java的Graphics2D类进行渲染,我被告知将复合设置为AlphaComposite,但这只是将它设置为完全透明.

我可以使用当前设置执行此操作吗?我该怎么做才能解决这个问题?

这是我被告知的代码将使其部分透明:

    AlphaComposite ac = java.awt.AlphaComposite.getInstance(AlphaComposite.CLEAR, 0.5F);
    g.setComposite(ac);
Run Code Online (Sandbox Code Playgroud)

(我顺便使用png图像)

继承你的sscce(这些都是在不同的类,但我把它们放在一起以简化)(我在本地文件夹"Images"中使用一个名为"Test"的图像,你可以使用任何东西,只要它是一个png图像命名相同

import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.DisplayMode;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Window;

import javax.swing.ImageIcon;

import com.blazingkin.atrox.ScreenManager;

public class AtroxAdventrum{

public static void main(String[] args) {
new AtroxAdventrum().run();
}

    private static DisplayMode modes[] = {

        //new DisplayMode(1080,720,32,0),
        //new DisplayMode(1080,720,24,0),
        //new DisplayMode(1080,720,16,0),
        //new DisplayMode(1440,900,32,0),
        //new DisplayMode(1440,900,24,0),
        //new DisplayMode(1440,900,16,0),

    };
    private boolean running = true;
    public ScreenManager s;

    public void stop(){
        running = false;
    }

    public void run(){
        try{
            init();
            gameLoop();
        }finally{ …
Run Code Online (Sandbox Code Playgroud)

java transparent graphics2d

19
推荐指数
1
解决办法
3万
查看次数

如何在iOS 7中使导航栏透明?

有没有办法让导航控制器的栏完全透明?

我尝试过的:

[self.navigationController.navigationBar setBackgroundColor:[UIColor clearColor]];
[self.navigationController.navigationBar setBarTintColor:[UIColor clearColor]];
[self.navigationController.navigationBar setAlpha:0.0];
Run Code Online (Sandbox Code Playgroud)

但酒吧的外观不会改变,并保持白色半透明.我试图看到酒吧项目,但不是酒吧本身.有人能指出我正确的方向吗?谢谢

objective-c transparent uinavigationbar ios ios7

18
推荐指数
2
解决办法
5万
查看次数

防止UITableviewcell在重新排序期间变得透明

我试图在重新排序动画期间保持我的uitableviewcells不透明 - 原因是我在一个视图中自定义绘制单元格以增强滚动性能,但这样做会显着减慢重新排序动画.

知道怎么做到这一点?

transparent uitableview

16
推荐指数
2
解决办法
3181
查看次数

Firefox 4中的CSS透明边框问题?

我正在尝试为工具提示创建一个纯CSS三角形.除了最新的Firefox 4之外,所有浏览器看起来都很好.这是代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Untitled Document</title>
<style>
.arrow {
    border:50px solid;
    border-color:#eee transparent transparent transparent;
    display:block;
    height:0;
    width:0;
    top:50%;
    right:50%;
    position:absolute;
}
</style>
</head>
<body>
<div style="border:1px solid #000; height:400px; width:400px; margin:50px auto; position:relative;">
    <span class="arrow"></span>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Firefox 4截图:

Firefox 4截图

其他浏览器截图:

在此输入图像描述

正如你在Firefox 4中看到的那样,它有类似边框的东西.它是一个Firefox bug还是这个行为?

如何在FF4中实现没有可见边框的纯CSS三角形?此外,我需要其他3种颜色是透明的,因为这个三角形将重叠一些元素.

css transparent firefox4

16
推荐指数
2
解决办法
5702
查看次数