❶ ios开发cgpathaddrec怎么绘制圆形
1、通过image mask来操作,需要添加mask目标图片。
2、通过imageview的layer来操作
如下代码
UIImageView * imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"]];
imageView.frame = CGRectMake(20.f, 20.f, 100.f, 100.f);
imageView.layer.masksToBounds = YES;
imageView.layer.cornerRadius = 50;
a.这种方法需要添加QuarztCore框架才能操作
b.cornerras的确定问题
3、能过代码对画布裁剪成圆形–》然后再将原始图像画出来–》
-(UIImage*) circleImage:(UIImage*) image withParam:(CGFloat) inset {
UIGraphicsBeginImageContext(image.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 2);
(context, [UIColor redColor].CGColor);
CGRect rect = CGRectMake(inset, inset, image.size.width - inset * 2.0f, image.size.height - inset * 2.0f);
CGContextAddEllipseInRect(context, rect);
CGContextClip(context);
[image drawInRect:rect];
CGContextAddEllipseInRect(context, rect);
CGContextStrokePath(context);
UIImage *newimg = ();
UIGraphicsEndImageContext();
return newimg;
}
上面代码注意 如果裁剪后没有使用 CGContextAddEllipseInRect(context, rect);
CGContextStrokePath(context); 这条代码 就会引起背景为白色时看不出来任务效果。
这里是椭圆操作
❷ web前端鼠标放在div标签制成的盒子上如何实现图片一秒内由正方形变为圆形在变
原本不是圆形图片,通过CSS样式布局实现成圆形图片,首先图片必须为正方形
1、HTML源代码完整代码:
复制代码代码如下:
图片圆形布局 在线演示 DIVCSS5。
2、对应CSS代码:
复制代码代码如下:
#divcss5{ margin:10px auto}。
#divcss5 img{ border-radius:50%}。
命名盒子“id=divcss5”盒子居中,同时上下外间距为10px;,然后设置对象盒子里img图片圆角50%。
❸ canvas中如何实现圆形背景图片
实现画布橡皮擦有两个思路:
1.用clearRect(x,
y, width, height)来实现,x, y 矩形的左上角的坐标。width,
height 矩形的尺寸。clearRect()
方法擦除了指定的矩形,并且用一个透明的颜色填充
它。我们用这个可以实现画布擦除,但它是矩形的。我也没有想出什么好的方法,所以
弃之,采用第二种方法!
2、第二种方法就是画出一个圆,此圆为透明,然后使相交部分变成透明的就ok了。
这里就用到了canvas的globalCompositeOperation函数了,简单来说,Composite(组
合),就是对你在绘图中,后绘制的图形与先绘制的图形之间的组合显示效果,比如在国画中,
你先画一笔红色,再来一笔绿色,相交的部分是一种混色,而在油画中,绿色就会覆盖掉相交
部分的红色,这在程序绘图中的处理就是Composite,Canvas
API中对应的函数就是
globalCompositeOperation,跟globalAlpha一样,这个属性是全局的,所以在使用的时
候要注意save和restore.
下面是每一个选项的说明:
source-over
默认,相交部分由后绘制图形的填充(颜色,渐变,纹理)覆盖,全部浏览器通过
source-in
只绘制相交部分,由后绘制图形的填充覆盖,其余部分透明,webkit两兄弟没有
通过
source-out
只绘制后绘制图形不相交的部分,由后绘制图形的填充覆盖,其余部分透
明,webkit两兄弟没有通过
source-atop
后绘制图形不相交的部分透明,相交部分由后绘制图形的填充覆盖,全部浏
览器通过
destination-over
相交部分由先绘制图形的填充(颜色,渐变,纹理)覆盖,全部浏览器通过
destination-in
只绘制相交部分,由先绘制图形的填充覆盖,其余部分透明,webkit两兄弟
没有通过
destination-out
只绘制先绘制图形不相交的部分,由先绘制图形的填充覆盖,其余部分透
明,全部浏览器通过
destination-atop
先绘制图形不相交的部分透明,相交部分由先绘制图形的填充覆
盖,webkit两兄弟没有通过
lighter
相交部分由根据先后图形填充来增加亮度,全部浏览器通过
darker
相交部分由根据先后图形填充来降低亮度,chrome通过,firefox官方说Firefox
3.6 / Thunderbird 3.1 /
Fennec
1.0以后版本移除这个效果-0-,why?safari看似可
以,但是无论你什么颜色,它都给填充成黑色,opera无效果
只绘制后绘制图形,只有opera通过
xor
相交部分透明,全部浏览器通过
下面就是用上面的属性实现圆形橡皮擦的代码:
狠狠的点击这里-javascript
canvas画图实例(请使用支持canvas的chrome,firefox
等浏览器观看)
function
resetEraser(_x,_y,touch)
{
var
t=this;
t.cxt.globalCompositeOperation
=
"destination-out";
t.cxt.beginPath();
t.cxt.arc(_x,
_y, t.eraserRadius, 0, Math.PI *
2);
t.cxt.strokeStyle =
"rgba(250,250,250,0)";//使用颜色值为白色,透明为0的颜色填充
t.cxt.fill();
t.cxt.globalCompositeOperation
= "source-over"
}
❹ C#GDI绘制圆形图片
试用剪裁区域。具体步骤:
1、创建一个椭圆路径:
GraphicsPath
gp
=
new
GraphicsPath();
gp.AddEllipse(new
Rectangle(0,0,100,100));
//假设100为正方形的边长
2、将该路径设置到图片的绘图场景中作为剪裁区域:
using(Graphics
g
=
Graphics.FromImage(bm)){
//假设bm就是你要绘制的正方形位图,已创建好
g.SetClip(gp);
//在此处可以对g绘制图形,均被剪裁在圆形范围内
}
❺ 用C语言写出画一个圆形的代码
可以参考下面的代码:
#include<math.h>
main()
{
double y;
int x,m;
for(y=10;y>=-10;y--)
{
m=2.5*sqrt(100-y*y);
for(x=1;x<50-m;x++)
printf(" ");
printf("*");
for(;x<50+m;x++)
printf(" ");
printf("* ");
}
}
(5)代码如何制作圆形图片的扩展阅读:
for循表达式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}。
其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式。
❻ 怎么用CSS做出一个圆图
只要圆的话,用css3,ie8-不支持
<!DOCTYPEHTML>
<html>
<headlang="zh-CN">
<style>
.test{width:50px;height:50px;border-radius:25px;background:#000;}
</style>
</head>
<body>
<divclass="test"></div>
</body>
</html>
❼ 如何用vc++画圆形图像
VC++画圆形可以使用API函数:Ellipse(int x1, int y1, int x2, int y2);
其画圆的原理是矩形的内切圆,四个参数中的前两个是矩形左上角坐标,后两个是矩形右下角坐标。VC++画图形前得先有一块画布DC即设备上下文。下面个例子:
voidCrrDlg::PaintCircle()//画实心圆函数
{
CDC*pDC=this->GetDC();//获取DC
CBrushbrush,*oldbrush;//画刷
//通过定时器中num递增,实现红色圆形与绿色圆形交替出现,即闪灯现象
if(num%2){//num为定时器计数参数,其为偶数时画红色圆形
brush.CreateSolidBrush(RGB(255,0,0));
}
else{//num为奇数时,画绿色圆形
brush.CreateSolidBrush(RGB(0,255,0));
}
oldbrush=pDC->SelectObject(&brush);
pDC->Ellipse(10,10,100,100);
pDC->Ellipse(110,10,200,100);
pDC->SelectObject(oldbrush);
ReleaseDC(pDC);
}
voidCrrDlg::OnTimer(UINT_PTRnIDEvent)//定时器
{
num++;
PaintCircle();
CDialogEx::OnTimer(nIDEvent);
}
画空心圆环需要使用画笔CPen,画法一样。
❽ C#GDI绘制圆形图片
试用剪裁区域。具体步骤:
1、创建一个椭圆路径:
GraphicsPath gp = new GraphicsPath();
gp.AddEllipse(new Rectangle(0,0,100,100)); //假设100为正方形的边长
2、将该路径设置到图片的绘图场景中作为剪裁区域:
using(Graphics g = Graphics.FromImage(bm)){ //假设bm就是你要绘制的正方形位图,已创建好
g.SetClip(gp);
//在此处可以对g绘制图形,均被剪裁在圆形范围内
}
❾ html圆形图片代码
用border-radius
你正圆的话,就设置半径就可以了,假如,你的图片是500X500
那css这样写:
img{border-radius:250px;}就行了。