标签: transform

TextBlock填充垂直空间

我想创建一个TextBlock(或其他一些文本,其中仅显示文本)是垂直的(-90变换角度),但我希望该元素填充它所包含的垂直空间,但是具有定义的水平量(我使用垂直和水平术语而不是高度和宽度,因为当我有TextBlockgo垂直时它被交换),并且它与容器的左侧对齐.

我相信我理解如何TextBlock使用RenderTransform或使用LayoutTransform.然而,无论何时我改变容器的垂直方面,TextBlock水平方面而不是垂直方向的增加,我似乎无法使"对接"正常工作.

这是我有的:

<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Class="AttendanceTracker.StudentView"
x:Name="UserControl" Height="172.666" Width="417.333">

<StackPanel x:Name="LayoutRoot" Orientation="Horizontal">
    <Border BorderBrush="Black" BorderThickness="1" RenderTransformOrigin="0.5,0.5" Background="#52FFFFFF" Width="139.667">
        <TextBlock Text="My Title" TextWrapping="Wrap" FontSize="18.667" TextAlignment="Center" Foreground="White" Margin="-58.509,68.068,49.158,70.734" Background="Black" RenderTransformOrigin="0.5,0.5" Width="147.017" d:LayoutOverrides="Height">
            <TextBlock.RenderTransform>
                <TransformGroup>
                    <ScaleTransform/>
                    <SkewTransform/>
                    <RotateTransform Angle="-90"/>
                    <TranslateTransform/>
                </TransformGroup>
            </TextBlock.RenderTransform>
        </TextBlock>
    </Border>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

更改UserControl的高度,您会注意到TextBlock水平方面的增加而不是所需的垂直方面.

wpf xaml transform textblock

2
推荐指数
1
解决办法
1822
查看次数

带有对的c ++变换得到分段错误

此代码有效:

class Test
{
public:
  Test(string name) : _name(name) {};
  bool operator()() { cout << "hello " << _name << endl; return true; }
  string name() { return _name; }
private:
  string _name;
};

pair<string, bool>
inline execute_test(Test* t) {
  return pair<string, bool>(t->name(), (*t)());
}

int main()
{
  vector<Test*> tests;
  vector<pair<string, bool> > results;
  tests.push_back(new Test("Test1"));
  tests.push_back(new Test("Test2"));

  for (unsigned int i=0; i < tests.size(); ++i)
      results.push_back(execute_test(tests[i]));

}
Run Code Online (Sandbox Code Playgroud)

现在我想使用trasform而不是for cicle:

transform(tests.begin(), tests.end(),
          results.begin(),
          execute_test);
Run Code Online (Sandbox Code Playgroud)

但是我遇到了分段错误.问题出在哪儿?

c++ stl transform std-pair

2
推荐指数
1
解决办法
771
查看次数

XAML中的"精灵"动画效果

XAML会如何创建Genie动画效果?取一个任何大小/形状的物体,并将"Genie"带到另一个最小化的位置.有点像OSX窗口最小化.甚至可能通过类似烟雾的效果更加迷人,其中路径更多地切换回来,而不是简单的漏斗(如果这有任何意义).

我猜测有一些可以绘制的路径,并且形状可以沿着该路径移动和变换.只是一个疯狂的猜测.

谢谢你的想法.

silverlight wpf animation xaml transform

2
推荐指数
1
解决办法
1791
查看次数

如何将QPixmap转换为矩阵

我一直在寻找这样的答案.

我在QPixmap transformed()中找到了这个方法,虽然我认为它对我搜索将QPixmap图像(灰度)转换为矩阵的方法没有帮助...

谢谢你的帮助=)

qt transform matrix qpixmap

2
推荐指数
1
解决办法
2569
查看次数

如何以编程方式创建具有横向方向的UIView?

我有一个固定横向的iPad应用程序.一切正常,直到我以编程方式创建UIView并将其添加到我的根UIViewController的视图时 - 它的方向始终设置为纵向,而所有其他内容都以横向模式显示.这个UIView是一个模态视图,显示了一些用户的自定义表单.

AlertView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height)];
AlertView.opaque = NO;
AlertView.backgroundColor = [UIColor blackColor];
AlertView.alpha = 0.7;

<...> // some other configuration code

[window addSubview:AlertView];
Run Code Online (Sandbox Code Playgroud)

所以问题是:如何以横向方向启动UIView?我能想到的只是使用变换:

modalView.transform = CGAffineTransformMakeRotation( ( 180 * M_PI ) / 360 );
Run Code Online (Sandbox Code Playgroud)

虽然它不是太优雅的方式......

iphone cocoa-touch transform orientation uiview

2
推荐指数
1
解决办法
7075
查看次数

使用CSS3生成类似动画的立方体(仅两个面)效果

我想重现这个基于这个很棒的教程准备的jsfiddle (请查看演示).但我不想要键功能,只是悬停.

http://jsfiddle.net/b5rmW/5/

但这只使用了2个面(正面和背面).

我尝试过,像这样:

    #cube {
      position: relative;
      margin: 100px auto 0;
      height: 300px;
      width: 300px;
      -webkit-transition: -webkit-transform .5s linear;
      -webkit-transform-style: preserve-3d;

      -moz-transition: -moz-transform .5s linear;
      -moz-transform-style: preserve-3d;
    }

    .face {
      position: absolute;
      height: 300px;
      width: 300px;
      padding: 0px;
      background-color: rgba(50, 50, 50, 1);
      font-size: 27px;
      line-height: 1em;
      color: #fff;
      border: 1px solid #555;
      border-radius: 3px;
    }

    #cube .one  {
      -webkit-transform: rotateX(90deg) translateZ(150px);
      -moz-transform: rotateX(90deg) translateZ(150px);
      background:red;
    }

    #cube .two {
      -webkit-transform: translateZ(150px);
      -moz-transform: translateZ(150px); …
Run Code Online (Sandbox Code Playgroud)

css animation transform css3

2
推荐指数
1
解决办法
8117
查看次数

IE8与其他一切之间CSS旋转的一致起源?

这是可能的使用变化,以获得CSS跨浏览器的文本旋转transform:rotate(XXdeg); 进行正常的浏览器(INC.IE9 +,使用-moz-,-webkit-,-ms-前缀覆盖旧版本).然后,对于IE8和co(应该在IE6 +中工作,虽然IE6和IE7几乎不再受到关注:IE8仍然是一个问题),使用这样的矩阵变换:

filter: progid:DXImageTransform.Microsoft.Matrix(
  M11=[ COSINE OF ANGLE ],
  M12=[ SINE OF ANGLE ],
  M21=[ -1 x SINE OF ANGLE ], 
  M22=[ COSINE OF ANGLE ],
sizingMethod='auto expand); 
Run Code Online (Sandbox Code Playgroud)

...例如 filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.76604444, M12=0.64278761, M21=-0.64278761, M22=0.76604444,sizingMethod='auto expand');


问题是,这两种方法具有不同的变换原点,这意味着虽然它们具有相同的角度,但旋转元素的位置在浏览器之间变化,并且它的变化方式取决于元素的角度和大小,从而使其固定定位不是一项简单的任务.

这是一个现场演示,说明了这一点:http: //jsbin.com/edudof/2/

在非IE8中,可以像这样设置变换原点 - transform-origin: 50% 50%;(指定默认值).我找不到IE8的滤镜矩阵变换的任何等价物,并且我已经尝试设置非IE原点以匹配IE原点(我已经读过 - 虽然随机博客文章 - 显然是在左上角元素,但是transform-origin: top left;离开了).

我对转换起源的含义并不感到困扰(尽管将所有内容都达到50%50%将是理想的).优先考虑的是跨浏览器的结果一致.


我发现并尝试了两件事:

css internet-explorer transform cross-browser

2
推荐指数
1
解决办法
3250
查看次数

CSS3 -webkit-transform:translateZ(xpx)不起作用

对不起,如果这看起来很基本,但我在网上搜索,找不到另一个答案(这让我觉得我做的事情很愚蠢).

我有一个父母和一个孩子div.我正在尝试将CS​​S3 translateZ应用于孩子,但似乎没有发生任何事情.

translateX和translateY工作,以及旋转,但不是translateZ.我疯了吗?

这是一个小提琴:http://jsfiddle.net/Sb55D/1/

<div id="main">
    <div id="child">
        Lorem
    </div>
</div>

#main {
   display: block;
   position: absolute;
   width: 400px; height: 400px;
   border: thin solid red;
   top: 10px;
   left: 10px;
   -webkit-transform-style: preserve-3d;
}

#child {
    display: block;
    position: absolute;
    top: 50%; left: 50%;
    width: 300px;
    height: 300px;
    border: thin solid green;
    -webkit-transform: translate(-50%, -50%) translateZ(-400px);
    -webkit-transform-style: preserve-3d;
}
Run Code Online (Sandbox Code Playgroud)

safari webkit transform css3

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

CSS转换不在活动链接中工作

我对网站有一个奇怪的问题.我使用CSS3转换(translate)在按钮处于:active状态时产生"按下"效果.尽管我使用了所有供应商前缀(包括)和没有前缀的标准,但除了IE 11之外,所有浏览器都能很好地工作-ms-.有没有办法在IE 11中实现相同的效果?

#nav-bar li:not(.active-page):active {
    -webkit-transform: translate(4px, 4px);
    -moz-transform: translate(4px, 4px);
    -ms-transform: translate(4px, 4px);
    -o-transform: translate(4px, 4px);
    transform: translate(4px, 4px);
}
Run Code Online (Sandbox Code Playgroud)

internet-explorer transform css3 internet-explorer-11

2
推荐指数
1
解决办法
1790
查看次数

数值拉普拉斯变换python

我有一个时间序列的实验数据x = x(t)在两个numpy数组中,x表示观察值,t表示观察值的时间值.是否有一个numpy函数或方法可以评估时间序列的拉普拉斯变换?先感谢您.

python numpy transform

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