我在MovieClip中有一个复杂的形状.
运行时我想根据大小比例更改此Shape的笔触宽度.
如何在不使用绘图API重新绘制整个Shape的情况下更改此属性(几乎不可能,是一个边界非常详细的地图)?
可能吗 ?
在我的页面中包含很多layouts,我想为每个画一个角落,layout所以我尝试:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ffffff"/>
<corners android:radius="5px"/>
<stroke android:width="2dip" android:color="#ababab"/>
<padding android:left="0dp"
android:top="0dp"
android:right="0dp"
android:bottom="0dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
所以颜色shape是白色但我想要的只是一个border并使用background默认值.
怎么设置呢?
我有一个明星看起来像:
Data="M 61.3431396484375,0 C61.3431396484375,0 80.2991943359375,38.40919494628906 80.2991943359375,38.40919494628906 80.2991943359375,38.40919494628906 122.686279296875,44.56840515136719 122.686279296875,44.56840515136719 122.686279296875,44.56840515136719 92.01470947265625,74.46580505371094 92.01470947265625,74.46580505371094 92.01470947265625,74.46580505371094 99.25527954101562,116.68159484863281 99.25527954101562,116.68159484863281 99.25527954101562,116.68159484863281 61.3431396484375,96.75 61.3431396484375,96.75 61.3431396484375,96.75 23.430999755859375,116.68159484863281 23.430999755859375,116.68159484863281 23.430999755859375,116.68159484863281 30.67156982421875,74.46580505371094 30.67156982421875,74.46580505371094 30.67156982421875,74.46580505371094 0,44.56840515136719 0,44.56840515136719 0,44.56840515136719 42.3870849609375,38.40919494628906 42.3870849609375,38.40919494628906 42.3870849609375,38.40919494628906 61.3431396484375,0 61.3431396484375,0 z"
Run Code Online (Sandbox Code Playgroud) 我在数学和几何方面都不擅长,所以如果有人可以帮我创建以下形状,我会很高兴:

所以基本上形状存在于3个矩形中,我得到前两个完美的变换矩阵,但我不能得到最后一个匹配形状(参见上面的链接img)
HTML
<div class="shape">
<div class="shape-rect-one"></div>
<div class="shape-rect-two"></div>
<div class="shape-rect-three"></div>
</div>?
Run Code Online (Sandbox Code Playgroud)
CSS
.shape {
perspective: 1000px;
}
.shape div {
width: 100px;
height: 100px;
opacity: 0.4;
background-color: #333;
}
.shape-rect-one {
z-index: 100;
transform: matrix(1, -0.40, 0, 1, 0, 0);
-webkit-transform: matrix(1, -0.40, 0, 1, 0, 0);
}
.shape-rect-two {
z-index: 200;
transform: matrix(1, -0.40, 0, 1, 0, 0);
-webkit-transform: matrix(1, 0.40, 0, 1, 0, 0);
}
.shape-rect-three {
z-index: 300;
}?
Run Code Online (Sandbox Code Playgroud) 搜索栏:
<SeekBar
android:id="@+id/seekBar"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingLeft="20dip"
android:paddingRight="20dip"
android:progressDrawable="@drawable/bg"
android:thumb="@drawable/thumb"
android:thumbOffset="0px" />
Run Code Online (Sandbox Code Playgroud)
问题:如果拇指可绘制它是一个位图,但形状像
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#ffff0000" />
</shape>
Run Code Online (Sandbox Code Playgroud)
拇指没有显示.
我尝试过这样的事情:
Drawable thumb = getResources().getDrawable(R.drawable.thumb);
thumb.setBounds(0,0,20,20);
seekBar.setThumb(thumb);
Run Code Online (Sandbox Code Playgroud)
但仍然是同样的问题.drawable是"there",它可以被拖动,并且它位于正确的位置,但它不可见.有帮助吗?提前致谢!
当玩家按下UP键时,我想做一个形状跳跃,所以我能想到的最好的是这个,但我使用的方法很糟糕且有问题:
(形状坐标:shape1.top:=432;)
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
vk_up: shape1.top:=shape1.top-40 //so that it jumps to 392
end;
end;
Run Code Online (Sandbox Code Playgroud)
现在这个计时器:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
timer1.interval:=300
if shape1.Top<400 then //if shape1.top=392 < 400
begin
shape1.Top:=432; //move back to 432
end;
end;
Run Code Online (Sandbox Code Playgroud)
问题是玩家可以不断按下UP键,这是我不想要的.我知道这种方法很糟糕,所以我希望你有比这更好的东西,如果你能和我分享,我将不胜感激.
我需要找到图像中所有闭合的形状并获取其坐标。我在Python中需要这个,但是对如何做到这一点的解释也足够了。如果需要,请随时使用Python代码回答。我已经在Google上进行了大量搜索,发现了以下两点:
第一个链接中的答案会绘制所有区域,而不是为我提供封闭区域的坐标。我不理解第二个链接中的第一个答案,有些评论说它不起作用。第二个链接中的第二个答案不适用于这样的图像:

我也尝试制作自己的代码,但是计算所需的时间超过一秒,并且必须更快(不是真的,不是真的快,但至少要快于1/10秒)。
我如何找到这些区域?
PS:图像中有些线条不是闭合形状的一部分。
当我使用这两个代码运行应用程序时,显示相同的错误:
运算符不适用于此操作数类型
procedure TForm1.Button4Click(Sender: TObject);
begin
If (shape1.Brush.Color:=clblue and shape2.Brush.Color:=clblue) then
begin
showMessage('error');
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
If (shape1.Brush.Color:=clblue) and (shape2.Brush.Color:=clblue) then
begin
showMessage('error');
end;
Run Code Online (Sandbox Code Playgroud) 我想从它的形状构建一个多维数组.为此,我写了这个方法:
def build_array(*shape)
arr = shape[0..-2].reverse.inject(Array.new(shape.last)) do |a, size|
Array.new(size, a)
end
end
Run Code Online (Sandbox Code Playgroud)
例:
arr = build_array(2, 8)
=> [[nil, nil, nil, nil, nil, nil, nil, nil],
[nil, nil, nil, nil, nil, nil, nil, nil]]
Run Code Online (Sandbox Code Playgroud)
但是,它生成的子数组似乎是一个相同的对象:
arr.each do |sub|
puts sub.object_id
end
70179850332980
70179850332980
Run Code Online (Sandbox Code Playgroud)
我们如何修复方法以获得干净的生成数组?谢谢.
我正在做运动,用'#'做一个钻石形状,使用一个功能.我的代码:
#include <stdio.h>
//Declare function
void losangle(int n);
//main
int main(void){
int n;
do {
printf("Altura do triangulo: ");
scanf("%d", &n );
} while( n % 2 == 0);
losangle(n);}
//function
void losangle(int n){
int i, hashtag, spaces, j, spaces1, hashtag1;
//triangle
for(i = 0; i < n; i++){
for(spaces = 0; spaces < (n-i); spaces++){
printf(" ");}
for(hashtag = 0; hashtag < (i+1);hashtag++){
printf("# ");}
printf("\n");}
//inverted triangle
for(j = 0; j < (n - 1); j++){
for(spaces1 = …Run Code Online (Sandbox Code Playgroud)