标签: shadow

使用Quartz绘制阴影在iPhone和iPad上很慢.其他方式?

当我发现在iPhone/iPad上为我的UIViews添加阴影是多么容易时,我感到非常兴奋.

只需在Xcode中添加框架,将导入添加到文件顶部:

#import <QuartzCore/QuartzCore.h>
Run Code Online (Sandbox Code Playgroud)

然后呢:

self.contentView.layer.shadowRadius = 3.0;
self.contentView.layer.shadowOffset = CGSizeMake(-2.0, -3.0);
self.contentView.layer.shadowOpacity = 0.5;
self.contentView.layer.shadowColor = [UIColor blackColor].CGColor;
Run Code Online (Sandbox Code Playgroud)

虽然这确实在我的应用程序中创建了一个美丽的阴影,但是当显示视图时它现在也会落后于死...即使在调试器外部启动时也是如此.有没有我忘记的东西,或者这种方法对大型观点不实用?

作为参考,我在这里发布了一个截图.

iphone shadow quartz-graphics uiview ipad

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

CoreGraphics石英在透明alpha路径上绘制阴影

在网上搜索大约4个小时没有得到答案:
如何在具有透明度的路径上绘制阴影?

- (void)drawRect:(CGRect)rect
{
    CGContextRef c = UIGraphicsGetCurrentContext();
    CGContextSetLineWidth(c, 2);
    CGContextSetStrokeColorWithColor(c, [[UIColor whiteColor] CGColor]);
    CGContextSetShadowWithColor(c, CGSizeMake(0, 5), 5.0, [[UIColor blackColor]CGColor]);
    CGContextSetFillColorWithColor(c, [[UIColor colorWithWhite:1.0 alpha:0.8] CGColor]);

    // Sample Path
    CGContextMoveToPoint(c, 20.0, 10.0);
    CGContextAddLineToPoint(c, 100.0, 40.0);
    CGContextAddLineToPoint(c, 40.0, 70.0);
    CGContextClosePath(c);

    CGContextDrawPath(c, kCGPathFillStroke);
}
Run Code Online (Sandbox Code Playgroud)

我注意到的第一件事,阴影只在中风附近.但到目前为止,这不是问题.路径/ rect后面的阴影仍然可见,这意味着:阴影颜色会影响路径的填充颜色.填充颜​​色应为白色,而不是灰色.如何解决这个问题?

drawing core-graphics objective-c shadow quartz-graphics

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

WPF窗口阴影效果

我是WPF技术的新手.我在WPF中有以下窗口声明:

<Window x:Class="CustomWindows.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="480" Width="640" ScrollViewer.VerticalScrollBarVisibility="Disabled" WindowStyle="None" AllowsTransparency="True">
    <Window.Effect>
        <DropShadowEffect BlurRadius="15" Direction="-90" RenderingBias="Quality" ShadowDepth="2"/>
    </Window.Effect>
    <Grid>

    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,阴影不会出现.我能做什么,或者在哪里发生错误?

c# wpf effects shadow

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

在画布绘制的形状周围创建阴影?

创建一个形状需要哪些步骤,例如使用Canvas从头开始带阴影的矩形?

在用于绘制矩形的绘制中添加阴影图层不会成功.

android canvas shape shadow

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

如何在圆形UIImageView或UIView中添加阴影?

我想做一个圆圈UIImageView,它的工作原理.以下是我用它做的方式:

[self.pic.layer setMasksToBounds:YES];
[self.pic.layer setCornerRadius:50.0];
Run Code Online (Sandbox Code Playgroud)

我想补充一些阴影UIImageView.下面的代码确实为我的图像视图添加了一些阴影,但是,图像视图会变回方形.有人可以给我一些指针来解决这个问题吗?下面是我用来添加阴影的代码:

self.pic.layer.shadowColor = [UIColor purpleColor].CGColor;
self.pic.layer.shadowOffset = CGSizeMake(0, 1);
self.pic.layer.shadowOpacity = 1;
self.pic.layer.shadowRadius = 1.0;
self.pic.clipsToBounds = NO;
Run Code Online (Sandbox Code Playgroud)

shadow calayer uiview uiimageview ios

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

删除Android按钮上的阴影

我搜索并尝试了所有找到的解决方案.我需要从android中的按钮中删除阴影.我发现的大多数解决方案都涉及使用图像按钮并设置它的背景.我尝试了它并且它可以工作,但我的按钮有文本,所以imagebutton不是一个选项.除非有办法写入图像按钮?

我的第二个解决方案是

android:fadingEdgeLength="0dp"
Run Code Online (Sandbox Code Playgroud)

但似乎没有任何改变.第三:

android:shadowColor="@color/application_transparent" />
Run Code Online (Sandbox Code Playgroud)

这里没有任何改变.

我还尝试使用笔划0创建自定义形状并将按钮背景设置为它但仍然没有.我喜欢在我的Xml中而不是以编程方式执行此操作,但如果这是唯一的方法,那就这样吧.提前致谢

android shadow android-layout android-button

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

在视图边距处浮动动作按钮的阴影剪辑

我有一个浮动动作按钮锚定在协调器布局的右下角.它距离视图的边距是16dp(默认情况下包含边距并在dimens.xml文件中指定),但它的阴影是剪切并且具有方形外观(见下文).当我从视图的边缘移动浮动操作按钮到32dp时,其阴影正确显示.

我已经尝试设置其高程属性(android:elevation="5dp"),但这似乎没有任何效果.我也尝试将borderWidth属性设置为0(app:borderWidth="0dp"),但也没有效果.

浮动动作按钮的行为是否有这样的原因?

XML

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/coordinator_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity">

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/create_floating_action_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_create_white_48dp"
        app:layout_anchor="@id/coordinator_layout"
        app:layout_anchorGravity="bottom|right" />

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

图片

FAB 16dp来自保证金. FAB 32dp来自保证金.

android shadow android-layout floating-action-button

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

将内部阴影添加到UIView的顶部

我抬起头但是我找不到如何向UIView添加内部阴影,只为Swift添加顶部(从上到下).在Swift中添加内圈的最佳方法是什么?

编辑:我在SO上找到了一些问题和答案,但是他们要么是obj-c,要么看起来很复杂.如果有的话,我只是想找一个更加Swifty的方式

我想要实现的目标:

在此输入图像描述

shadow uiview ios swift

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

为具有圆角的UIImageView创建阴影?

我试图创建一个ImageView圆角和阴影给它一些深度.我能够为它创建一个阴影UIImageView,但每当我添加代码也使它有圆角时,它只有圆角而没有阴影.我有一个IBOutlet名字myImage,它在viewDidLoad函数内部.有没有人对如何使其有效有任何想法?我究竟做错了什么?

override func viewDidLoad() {
    super.ViewDidLoad() 
    myImage.layer.shadowColor = UIColor.black.cgColor
    myImage.layer.shadowOpacity = 1 
    myImage.layer.shadowOffset = CGSize.zero
    myImage.layer.shadowRadius = 10
    myImage.layer.shadowPath = UIBezierPath(rect: myImage.bounds).cgPath
    myImage.layer.shouldRasterize = false
    myImage.layer.cornerRadius = 10
    myImage.clipsToBounds = true
}
Run Code Online (Sandbox Code Playgroud)

shadow uiview uiimageview ios swift

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

如何在ImageView上设置阴影效果

我试着在Xamarin.Forms的图像视图上设置阴影(针对Android平台),我在互联网上有一些例子.

PCL代码非常简单,平台看起来也很简单.官方xamarin开发者网站提供的配方是这样的:

[assembly: ResolutionGroupName("MyGroupName")]
[assembly: ExportEffect(typeof(LabelShadowEffect), "ShadowEffect")]
namespace MyWorkspace
{
    public class LabelShadowEffect : PlatformEffect
    {
        protected override void OnAttached()
        {
            try
            {
                var control = (Control as TextView); // TextView have the SetShadowLayer method, but others views don't

                var effect = (ShadowEffect)Element.Effects.FirstOrDefault(e => e is ShadowEffect);
                if (effect != null)
                {
                    float radius = effect.Radius;
                    float distanceX = effect.DistanceX;
                    float distanceY = effect.DistanceY;
                    Android.Graphics.Color color = effect.Color.ToAndroid();
                    control?.SetShadowLayer(radius, distanceX, distanceY, color);
                }
            }
            catch (Exception)
            {               
            } …
Run Code Online (Sandbox Code Playgroud)

c# shadow xamarin.android xamarin xamarin.forms

17
推荐指数
1
解决办法
1246
查看次数