对于我想要的某种风格,我想在SVG中勾勒出一组形状.应用于一组,该stroke属性似乎单独勾勒出每个形状 - 有效地在附近的其他形状之上.为了更清楚地解释我的情况:我有一组每个8x8像素的触摸矩形.但是,它们不会形成更大的矩形.
为简单起见,让我们说它们形成了一个十字架.所以我有5个矩形 - 中间有1个,另一个有一个.我想把它们全部勾勒出来,好像它们是1个形状.鉴于这种"交叉"形状发生了变化,我宁愿不使用路径,因为这需要更多的编码.有没有什么方法可以让效果过滤器将这个组识别为单个形状?
如果没有,是否至少可以制作这个组的黑色副本,其宽度和高度正好大2倍,我可以在组后面创建一个纯黑色轮廓?如果是这样,是否可以不重复该组?
感谢您的任何帮助.
我目前正在将文本绘制到UIImage上,该UIImage出现在iOS地图中的AnnotationView中 - 自定义图标出现在某些长/纬度坐标处.效果很好.但是,我想用白色笔划绘制这个文本(你可以称之为大纲).
+ (UIImage*)drawText:(NSString*)string inImage:(UIImage*)image atPoint:(CGPoint)point {
UIFont *font = [UIFont boldSystemFontOfSize:12];
UIGraphicsBeginImageContext(image.size);
[image drawInRect:CGRectMake(0,0,image.size.width,image.size.height)];
CGRect rect = CGRectMake(point.x, point.y, image.size.width, image.size.height);
[[UIColor whiteColor] set];
[string drawInRect:CGRectIntegral(rect) withFont:font];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
Run Code Online (Sandbox Code Playgroud) 我正在使用svg/d3来创建由'rect'元素组成的图表.
为每个矩形添加一个圆形边框/笔划的最佳方法是什么(仅在矩形的顶部)?
谢谢
我有一个具有圆角的渐变,我用于自定义UITableViewCell背景.我试图在路径上应用笔划但不能完全做到,并且无法看到我出错的地方.
CGFloat minx = CGRectGetMinX(rect) , midx = CGRectGetMidX(rect), maxx = CGRectGetMaxX(rect) ;
CGFloat miny = CGRectGetMinY(rect) , maxy = CGRectGetMaxY(rect) ;
minx = minx + 1;
miny = miny ;
maxx = maxx - 1;
maxy = maxy - 1;
CGContextMoveToPoint(c, minx, miny);
CGContextAddArcToPoint(c, minx, maxy, midx, maxy, kDefaultMargin);
CGContextAddArcToPoint(c, maxx, maxy, maxx, miny, kDefaultMargin);
CGContextAddLineToPoint(c, maxx, miny);
CGContextAddLineToPoint(c, minx, miny);
// Fill and stroke the path
CGContextClip(c);
CGContextStrokePath(c);
CGFloat locations[2] = { 0.0, 1.0 };
CGFloat mycomponents[8] = …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Canvas编写一个绘图应用程序.它的工作方式是按下鼠标时的连接线.当线条不透明时效果很好,但是当我更改alpha参数时,我遇到了问题.
我尝试了两种选择:
一个.当鼠标第一次关闭时路径开始,当鼠标再次启动时路径结束:鼠标的每次移动都会调用stroke()函数.因为这条线是透明的,所以整个路径的开始将变得不透明而结尾不会,因为stroke()被多次调用,并且它一次又一次地成为整个路径.
湾 路径开始和结束鼠标的每次移动:线条在整个路径上都是透明的,但每条路径和路径之间的匹配点不太透明(因为它们由两条线组成).所以整条路都不稳固.
我得到一个好结果的唯一方法是当我再次调用鼠标时调用stroke().然后它很好地抚摸整个路径,但是在实际绘制它时我什么都看不见.
我能做什么?
谢谢
我现在正在寻找一段时间并测试了很多东西,但没有任何效果。我有一个 TextView,它应该有渐变填充颜色和描边(不是 Textview 的背景,而是文本本身)。
我首先编写一个 GradientTextView 类。目前,我有一个带有渐变填充颜色和阴影的文本(阴影只是一个测试,也许我稍后需要一个。此时描边很重要)。但是,当我尝试添加描边时,仅显示描边或渐变填充颜色。我尝试了很多东西,例如 这里的解决方案。
import com.qualcomm.QCARSamples.ImageTargets.R;
import com.qualcomm.QCARSamples.ImageTargets.R.color;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.LinearGradient;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.Shader;
import android.graphics.Shader.TileMode;
import android.graphics.SweepGradient;
import android.util.AttributeSet;
import android.widget.TextView;
public class GradientTextView extends TextView
{
public GradientTextView( Context context )
{
super( context, null, -1 );
}
public GradientTextView( Context context,
AttributeSet attrs )
{
super( context, attrs, -1 );
}
public GradientTextView( Context context,
AttributeSet attrs, int defStyle ) …Run Code Online (Sandbox Code Playgroud) 我希望字符串具有不同的宽度,以便我设置Graphics2D的笔划,代码在这里:
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class StrokeTest {
public static void main(String[] args) {
StrokeTest test = new StrokeTest();
test.createUI();
}
public void createUI(){
JFrame frame = new JFrame();
frame.add(new MainPanel());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
@SuppressWarnings("serial")
class MainPanel extends JPanel{
public MainPanel(){
setPreferredSize(new Dimension(400, 300));
}
protected void paintComponent(Graphics g){
Graphics2D g2d = (Graphics2D)g;
g2d.setColor(Color.red);
g2d.setStroke(new BasicStroke(10));
g2d.drawString("I am a string", 100, 100);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我使用g2d.setStroke(new BasicStroke(10)) …
这是一个非常基本的问题.我希望能够为填充和笔划添加定义不同不透明度的形状.如果我添加这个:
Ellipse e = new Ellipse();
e.Width = e.Height = 150;
e.Stroke = Brushes.Aqua;
e.Fill = Brushes.Chartreuse;
e.StrokeThickness = 20;
e.Opacity = .25;
plotCanvas.Children.Add(e);
Run Code Online (Sandbox Code Playgroud)
我只能设置1个不透明度.相反,我希望填充为0.25不透明,并且笔划为1.0不透明.谢谢帕特里克
我想在 ffmpeg 中的文本中添加黑色描边。是否可以?
-c:v libx264 -vf "hue=h=0, drawtext=fontfile=../bin/RobotoCondensed-Bold.ttf:text='Hello.':fontcolor=white: fontsize=158: x=0+(w-text_w)/2: y=50+(h-text_h-line_h)/2" -c:a copy -shortest -pix_fmt yuv420p ../bin/ENG_01.mov
Run Code Online (Sandbox Code Playgroud) 给定一个包含非不透明(alpha < 1)像素数据的 UIImage,我们如何使用自定义描边颜色和粗细在不透明(alpha > 0)像素周围绘制轮廓/边框/描边?(我问这个问题是为了在下面提供答案)
stroke ×10
fonts ×2
svg ×2
uiimage ×2
android ×1
awt ×1
border ×1
c# ×1
canvas ×1
d3.js ×1
drawrect ×1
ffmpeg ×1
fill ×1
gradient ×1
html ×1
html5 ×1
ios ×1
iphone ×1
java ×1
javascript ×1
line ×1
objective-c ×1
opacity ×1
outline ×1
paint ×1
styles ×1
swift ×1
swing ×1
text ×1
textview ×1
uitableview ×1
wpf ×1