❶ 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;}就行了。