QT 驗證改進後Bresenham演算法
void LoginDialog::paintEvent(QPaintEvent *)
{
int x0, y0, xEnd, yEnd;
QPainter painter(this);
//引數為:畫刷,線寬,畫筆風格,畫筆端點,畫筆連線風格
QPen pen(Qt::green, 5, Qt::DotLine, Qt::RoundCap, Qt::RoundJoin);
painter.setPen(pen);
x0= ui->x->text().toInt();
y0=ui->y->text().toInt();
xEnd=ui->x1->text().toInt();
yEnd=ui->y2->text().toInt();
int x,y,dx,dy,e;
float k;
dx=xEnd-x0;
dy=yEnd-y0;
k=(float)dy/dx;
e=-dx;x=x0;y=y0;
if(k>=0||k<=1){
while(x<=xEnd){
painter.drawPoint(x+100,y+100);
x++;
e=e+2*dy;
if(e>0){
y++;
e=e-2*dx;
}
}
}
else if(k>=1){
while(y<=yEnd){
painter.drawPoint(x+100,y+100);
y++;
e=e+2*dx;
if(e>0){
x++;
e=e-2*dy;
}
}
}
}
執行結果示例
相關文章
- 模型評估與改進:交叉驗證模型
- 實時驗證碼技術可改進生物識別身份驗證
- Bresenham畫線演算法C++演算法C++
- Bresenham高效畫線演算法 (轉)演算法
- 身份證號碼驗證演算法演算法
- 極驗驗證:傳統驗證碼破解演算法淺析演算法
- ASP.NET MVC 5改進了基於過濾器的身份驗證ASP.NETMVC過濾器
- Bresenham畫線演算法(計算機圖形學)演算法計算機
- 如何在Java後端對輸入進行簡單驗證? - tejanshranaJava後端
- 負載均衡演算法需要改進負載演算法
- 後端安全驗證過程後端
- MVC 後設資料驗證MVC
- 計算機圖形學----DDA、Bresenham直線演算法計算機演算法
- 雙重保險——前端bootstrapValidator驗證+後臺MVC模型驗證前端bootMVC模型
- 改進oracle utl_mail包的smtp_server設定和密碼驗證不足OracleAIServer密碼
- 簡單幾步實現滑動驗證碼(後端驗證)後端
- 遊戲尋路中 A* 演算法的改進遊戲演算法
- 你會如何改進這個演算法?演算法
- asp:Button 先js驗證,然後到後臺JS
- 18位身份證校驗演算法演算法
- c#文字框textbox相關事件_文字框改變_驗證_離開_驗證完C#事件
- 用Chrome外掛改進開發體驗Chrome
- PostgreSQL 13–改進後的基礎備份SQL
- 演算法信仰的力量:改進演算法能提升多少效能?演算法
- Qt 程式改變文字大小QT
- 周志華《機器學習》課後習題解答系列(六):Ch5.6 - BP演算法改進機器學習H5演算法
- 讓 Python 更快地進行驗證Python
- 常用演算法之驗證迴文串演算法
- 演算法學習之路|檢驗身份證演算法
- Laravel 的表單驗證 , 如何做到驗證並改變 ( 轉換 ) 資料 ?( 使用中介軟體 )Laravel
- JS實現的一個驗證碼,可以在前端驗證後在提交actionJS前端
- 網路驗證碼的進化:從簡單圖文到無感驗證
- Qt 進度條QT
- 爬蟲進階教程:極驗(GEETEST)驗證碼破解教程爬蟲
- 目標跟蹤演算法----KCF進階(基於KCF改進的演算法總結)演算法
- Jmeter進行HTTPS介面壓測及SSL證書驗證JMeterHTTP
- QT中改變元件的層級QT元件
- 使用 OAuth 2.0 進行 Kafka 身份驗證 - strimziOAuthKafka