真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

wordpress氣泡 氣泡文件

編程訓(xùn)練的四種能力

階段一:無(wú)意識(shí),無(wú)能力

在成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)過(guò)程中,需要針對(duì)客戶的行業(yè)特點(diǎn)、產(chǎn)品特性、目標(biāo)受眾和市場(chǎng)情況進(jìn)行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計(jì)方向。創(chuàng)新互聯(lián)還需要根據(jù)客戶的需求進(jìn)行功能模塊的開(kāi)發(fā)和設(shè)計(jì),包括內(nèi)容管理、前臺(tái)展示、用戶權(quán)限管理、數(shù)據(jù)統(tǒng)計(jì)和安全保護(hù)等功能。

約翰是一個(gè)年輕的網(wǎng)站開(kāi)發(fā)者。他以前是一個(gè)法律科的學(xué)生,但是他認(rèn)為他的錢(qián)途不在這方面,所以他眼睛一轉(zhuǎn),做了轉(zhuǎn)行的決定。他曾經(jīng)幫他的朋友修過(guò)計(jì)算機(jī),而且很成功,所以他認(rèn)為這方面應(yīng)該都很容易。

他很快找的了一些能夠讓他學(xué)習(xí)這些工作的地方(當(dāng)然,都是靠近他家的地方)。六個(gè)月后,他開(kāi)始聲稱自己是個(gè)網(wǎng)站專家了,他的簡(jiǎn)歷上已經(jīng)列舉了不少編程語(yǔ)言、應(yīng)用程序,以及開(kāi)發(fā)平臺(tái)。

約翰,實(shí)際上,是一個(gè)冷酷的“拷貝/粘貼”者。 他以為能夠成功的顯示一個(gè)windows提示框,就表示對(duì)Javascript已經(jīng)掌握了。

PHP? 簡(jiǎn)單:他成功的安裝了Wordpress。 Linux? 他從LiveCD上啟動(dòng)了Ubuntu系統(tǒng),他能夠搭建一個(gè)Apache負(fù)載均衡集群服務(wù)器。 他的意識(shí)告訴他,他已經(jīng)無(wú)所不知了。

問(wèn)題就在于,約翰沒(méi)有意識(shí)到他可以學(xué)到更多的東西,所以他就簡(jiǎn)單的停止學(xué)習(xí)了。他一直處在一個(gè)氣泡中,他經(jīng)常訪問(wèn)的在線論壇和郵件列表里有很多人都非??蜌獾母嬖V他,他的問(wèn)題在于他膚淺的知識(shí),但沒(méi)有人能捅破他的氣泡。 而且更悲哀的是,他在論壇里的能力值比你我加起來(lái)都高。約翰是無(wú)意識(shí)的無(wú)能力。

階段二:有意識(shí)的無(wú)能力

馬克是個(gè)數(shù)學(xué)老師。他在一個(gè)小鎮(zhèn)的大學(xué)里工作,他希望他的大學(xué)里能夠擁至少是五倍于現(xiàn)有數(shù)量的資料庫(kù)。 他知道在科技領(lǐng)域方面他的大學(xué)先對(duì)于其他研究機(jī)構(gòu)落后很多,所以他決定自己動(dòng)手去做這個(gè)工作。 他想建立一個(gè)在線平臺(tái),能在社團(tuán)里共享他們的課程。

馬克是天生的邏輯型的思維。 他知道為了實(shí)現(xiàn)這個(gè)東西,他需要去做研究,搜集信息。他的搜索從維基百科開(kāi)始,但最終在大量的瀏覽閱讀后他明白其實(shí)世界上已經(jīng)有不少團(tuán)隊(duì)對(duì)他的這種問(wèn)題提供了開(kāi)源方案。

他從那些工程中選擇了一個(gè)最能滿足他的需求的一個(gè)。 他開(kāi)始著手閱讀在它的網(wǎng)站上找到的文檔和手冊(cè),最后他把源程序下載下來(lái)。他的興奮狀態(tài)逐步退去,因?yàn)樗吹搅恕瘮?shù)據(jù)庫(kù)連接錯(cuò)誤’。他試了又試,不至三次的檢查他的每一步驟,還是不成功。馬克并不惱怒,因?yàn)樗雷约涸谶@個(gè)領(lǐng)域并不是專家。

他開(kāi)始轉(zhuǎn)向它郵件列表平臺(tái),在里面,他用他所知道的(其實(shí)很少)最精確的語(yǔ)言描述了他的問(wèn)題。他提醒每個(gè)人,他并不清楚他所做的這個(gè)東西,所以他希望能得到更多的文檔去閱讀,或人們給他提供這方面的提示。 他不需要等待很久就能得到解決方案,因?yàn)樗扇×苏_的方法。馬克是有意識(shí)的無(wú)能力。

階段三:有意識(shí)的有能力

自從阿德拿起他的第一本HTML書(shū)至今已經(jīng)有兩年了。很顯然這是一條不歸路,對(duì)于阿德來(lái)說(shuō),每天思考的問(wèn)題都是如何去提高自己喜愛(ài)的這個(gè)專業(yè)。

在他拿起第一本書(shū)幾個(gè)月后他得到了他第一個(gè)作為自由工作者的身份開(kāi)發(fā)一個(gè)網(wǎng)站的工作,他投入了極大的熱情,不管這個(gè)工作的薪酬有多低,這個(gè)工作有多基礎(chǔ) (甚至是對(duì)于他的水平)。

他深信一點(diǎn):最好的學(xué)習(xí)的方式就是堅(jiān)持不懈,屢戰(zhàn)屢敗,屢敗屢戰(zhàn)。 他經(jīng)常去研究如何以最好的方式執(zhí)行一個(gè)功能,因?yàn)樗雷詈玫拇a不是第一次就能獲得的。 他必須去優(yōu)化代碼,他一遍又一遍的審查。 他一次又一次的修正。

之 后,他又給他自己寫(xiě)了一個(gè)大概有30到40行的程序。 幾天之后,他忍不住感到失望,因?yàn)樗谏暇W(wǎng)時(shí)發(fā)現(xiàn)了一段更省事的、而且更簡(jiǎn)潔的程序,代碼行只有他的一半。

他渴望知道何時(shí)他才能輕松的寫(xiě)出如此高質(zhì)量的代碼。 然而,經(jīng)過(guò)一段思考之后,他開(kāi)始分析他自己的代碼。 他知道必須去重寫(xiě)這些代碼,否則睡覺(jué)都不會(huì)安穩(wěn)。 他不愿意去拷貝粘貼它們。

阿德正走在成為一個(gè)優(yōu)秀的專家的路上,但他不會(huì)給自己加上這個(gè)稱號(hào),他愿意去等。阿德是有意識(shí)的有能力。

階段四:無(wú)意識(shí)的有能力

這是編程水平的終極階段。 它不僅僅是知識(shí)積累的結(jié)果,更是一系列的邏輯規(guī)則在數(shù)年里慢慢地刻印到一個(gè)人的腦海里的結(jié)果。

我們面對(duì)這樣的一個(gè)人時(shí)不得不由衷的佩服他對(duì)如此復(fù)雜的問(wèn)題能更如此輕松的應(yīng)對(duì)。 這種編程者看起來(lái)就像是能夠嗅出問(wèn)題的解決方案,而不是思考出的。

優(yōu)化的編寫(xiě),可維護(hù)的、安全性的程序,應(yīng)用各種設(shè)計(jì)模式,使用正確的開(kāi)發(fā)工具組合,這些會(huì)自動(dòng)的在他的工作中體現(xiàn)出來(lái)。 這種人能夠輕松的使用多種語(yǔ)言在多種操作系統(tǒng)平臺(tái)上工作。

strokewidth在內(nèi)部還是外部

stroke-width 外部輪廓的邊框的大小

bbsmax

繪制基本圖形和線型(StrokeStyle)的設(shè)置詳解

HackerVirus 2022-10-20 原文

繪制基本圖形和線型(StrokeStyle)的設(shè)置詳解

目前,在博客園上,相對(duì)寫(xiě)得比較好的兩個(gè)關(guān)于Direct2D的教程系列,分別是萬(wàn)一的Direct2D系列和zdd的Direct2D系列。有興趣的網(wǎng)友可以去看看。本系列也是介紹Direct2D的教程,是基于Windows API Code Pack 1.1的Direct2D的教程,如果要調(diào)試文中的代碼的話,還得參考前文 Direct2D教程I——簡(jiǎn)介及首個(gè)例子 下載導(dǎo)入Windows API Code Pack 1.1的動(dòng)態(tài)庫(kù)

在前文 Direct2D教程I——簡(jiǎn)介及首個(gè)例子 簡(jiǎn)單介紹了Direct2D,并給了一個(gè)簡(jiǎn)單的示例。接下來(lái),本文對(duì)一些基本的繪圖命令做個(gè)介紹

繪制基本圖形:直線、矩形、圓角矩形、橢圓

和GDI+類似,在RenderTarget對(duì)象下有各個(gè)繪圖命令(GDI+是在Graphics對(duì)象下有各個(gè)繪圖命令),下面是各個(gè)基本圖形的繪圖命令的函數(shù)原型

直線:

Public Sub DrawLine(firstPoint As Direct2D1.Point2F, secondPoint As Direct2D1.Point2F, brush As Direct2D1.Brush, skrokeWidth As Single, strokeStyle AsDirect2D1.StrokeStyle)

矩形:

Public Sub DrawRectangle(rect As Direct2D1.RectF, brush As Direct2D1.Brush, strokeWidth As Single)

Public Sub DrawRectangle(rect As Direct2D1.RectF, brush As Direct2D1.Brush, strokeWidth As Single, strokeStyle As Direct2D1.StrokeStyle)

Public Sub FillRectangle(rect As Direct2D1.RectF, brush As Direct2D1.Brush)

圓角矩形:

Public Sub DrawRoundedRectangle(roundedRect As Direct2D1.RoundedRect, brush As Direct2D1.Brush, strokeWidth As Single)

Public Sub DrawRoundedRectangle(roundedRect As Direct2D1.RoundedRect, brush As Direct2D1.Brush, strokeWidth As Single, strokeStyle As Direct2D1.StrokeStyle)

Public Sub FillRoundedRectangle(roundedRect As Direct2D1.RoundedRect, brush As Direct2D1.Brush)

橢圓:

Public Sub DrawEllipse(ellipse As Direct2D1.Ellipse, brush As Direct2D1.Brush, strokeWidth As Single)

Public Sub DrawEllipse(ellipse As Direct2D1.Ellipse, brush As Direct2D1.Brush, strokeWidth As Single, strokeStyle As Direct2D1.StrokeStyle)

Public Sub FillEllipse(ellipse As Direct2D1.Ellipse, brush As Direct2D1.Brush)

從上面的函數(shù)原型可以看出,以Draw開(kāi)頭的函數(shù)都是繪制函數(shù)。以Fill開(kāi)頭的函數(shù)都是填充函數(shù)。繪制函數(shù)的線寬由strokeWidth參數(shù)指定,繪制函數(shù)的線型由strokeStyle參數(shù)指定(默認(rèn)是實(shí)線)。和GDI+不同的是,在Direct2D中,不再區(qū)分Brush(畫(huà)刷)和Pen(畫(huà)筆)對(duì)象,而統(tǒng)一用Brush(畫(huà)刷)對(duì)象,在用Brush(畫(huà)刷)繪制線的時(shí)候再指定線寬和線型參數(shù)。

從參數(shù)strokeWidth和參數(shù)strokeStyle來(lái)看,都帶有單詞stroke。熟悉PS的都知道,stroke指的是描邊,在PS中描邊的位置分為“外部”、“內(nèi)部”、“居中”。那么在Direct2D中,這里的描邊的位置在哪兒呢?我們用代碼實(shí)驗(yàn)一下。

說(shuō)明:為了代碼的復(fù)用,我們把前文中的_d2DFactory和_renderTarget修飾限定詞從Private改為Protected。這樣在后面的例子中直接繼承前文的類,也可以直接用_d2DFactory和_renderTarget這兩個(gè)對(duì)象。

先給出Point2F、RectF、RoundedRect、Ellipse這四個(gè)類的原型定義,參數(shù)都簡(jiǎn)介明了,不再詳述

Direct2D1.Point2F(x As Single, y As Single)

Direct2D1.RectF(left As Single, top As Single, right As Single, buttom As Single)

Direct2D1.RoundedRect(rect As Direct2D1.RectF, radiusX As Single, radiusY As Single)

Direct2D1.Ellipse(point As Direct2D1.Point2F, radiusX As Single, radiusY As Single)

下面是實(shí)驗(yàn)示例代碼

Public Class clsDirect2DSample2

Inherits clsDirect2DSample

Public Shadows Sub Render()

If Not _renderTarget Is Nothing Then

With _renderTarget

.BeginDraw()

Dim F1 As New Direct2D1.RectF(0, 0, 100, 50)

Dim F2 As New Direct2D1.RectF(200, 200, 300, 250)

Dim B As Direct2D1.SolidColorBrush = _renderTarget.CreateSolidColorBrush(New Direct2D1.ColorF(1, 0, 0))

_renderTarget.DrawRectangle(F1, B, 10)

_renderTarget.DrawRectangle(F2, B, 10)

.EndDraw()

End With

End If

End Sub

End Class

從上圖的代碼來(lái)看,在(0,0)位置上畫(huà)了一個(gè)100*50的矩形,描邊寬度10px。在(200,200)位置上畫(huà)了一個(gè)矩形,描邊寬度10px,如下圖所示

從上面的效果可以看出兩點(diǎn):

一是左上角的矩形說(shuō)明,Direct2D中的描邊類型應(yīng)該是“居中”;

二是右邊的矩形說(shuō)明Direct2D中的RectF定義和原本GDI+中的RectangleF定義不同,Direct2D中的RectF中后兩個(gè)參數(shù)是右下角的坐標(biāo),而GDI+中的RectangleF中的后兩個(gè)參數(shù)指的是矩形的寬和高。

線型(StrokeStyle)的設(shè)置

在上面的函數(shù)原型中,線型是由參數(shù)strokeStyle決定的,它是StrokeStyle類。這個(gè)類不能直接初始化,必須由D2DFactory對(duì)象的CreateStrokeStyle函數(shù)創(chuàng)建(Direct2D中有不少的類不能直接初始化,必須由D2DFactory或RenderTarget對(duì)象的相應(yīng)的函數(shù)創(chuàng)建,如上面的SolidColorBrush對(duì)象就必須由RenderTarget對(duì)象的CreateSolidColorBrush函數(shù)創(chuàng)建)。

先看看CreateStrokeStyle函數(shù)的原型定義:

Public Function CreateStrokeStyle(strokeStyleProperties As Direct2D1.StrokeStyleProperties) As Direct2D1.StrokeStyle

Public Function CreateStrokeStyle(strokeStyleProperties As Direct2D1.StrokeStyleProperties, dashes() As Single) As Direct2D1.StrokeStyle

主要是通過(guò)strokeStyleProperties參數(shù)來(lái)設(shè)置線型,來(lái)看看StrokeStyleProperties結(jié)構(gòu)及其參數(shù)對(duì)象的原型定義。

Direct2D1.StrokeStyleProperties(startCap As Direct2D1.CapStyle, endCap As Direct2D1.CapStyle, dashCap As Direct2D1.CapStyle, _

lineJoin As Direct2D1.LineJoin, miterLimit As Single, _

dashStyle As Direct2D1.DashStyle, dashOffset As Single)

Public Enum CapStyle

Flat = 0

Square = 1

Round = 2

Triangle = 3

End Enum

Public Enum LineJoin

Miter = 0

Bevel = 1

Round = 2

MiterOrBevel = 3

End Enum

Public Enum DashStyle

Solid = 0

Dash = 1

Dot = 2

DashDot = 3

DashDotDot = 4

Custom = 5

End Enum

其中CapStyle枚舉指的是線端的線頭類型,分別是Flat(平整,即無(wú))、Square(方塊)、Round(圓)、Triangle(三角)。和GDI+中的DashCap枚舉類似,多了一個(gè)Square(方塊),而在下面的例子中會(huì)說(shuō)明Flat和Square的區(qū)別。參數(shù)startCap決定線起點(diǎn)的線頭類型、endCap決定線終點(diǎn)的線頭類型、dashCap決定中間劃線端的線頭類型。

而DashStyle枚舉指的是線型,分別是Solid(實(shí)線)、Dash(劃線)、Dot(點(diǎn)線)、DashDot(點(diǎn)劃線)、DashDotDot(點(diǎn)點(diǎn)劃線)、Custom(自定義)。和GDI+中的DashStyle一樣。

參數(shù)dashOffset指的是點(diǎn)劃線的偏移量

下面的代碼是對(duì)上面的兩個(gè)枚舉的演示,請(qǐng)注意枚舉CapStyle中的Flat和Square的區(qū)別。

Public Class clsDirect2DSample3

Inherits clsDirect2DSample

Public Shadows Sub Render()

If Not _renderTarget Is Nothing Then

With _renderTarget

.BeginDraw()

Dim B As Direct2D1.SolidColorBrush = _renderTarget.CreateSolidColorBrush(New Direct2D1.ColorF(1, 0, 0))

Dim SP As New Direct2D1.StrokeStyleProperties()

Dim S As Direct2D1.StrokeStyle

SP.StartCap = Direct2D1.CapStyle.Flat

SP.EndCap = Direct2D1.CapStyle.Flat

S = _d2DFactory.CreateStrokeStyle(SP)

_renderTarget.DrawLine(New Direct2D1.Point2F(10, 20), New Direct2D1.Point2F(200, 20), B, 8, S)

SP.StartCap = Direct2D1.CapStyle.Square

SP.EndCap = Direct2D1.CapStyle.Square

S = _d2DFactory.CreateStrokeStyle(SP)

_renderTarget.DrawLine(New Direct2D1.Point2F(10, 40), New Direct2D1.Point2F(200, 40), B, 8, S)

SP.StartCap = Direct2D1.CapStyle.Round

SP.EndCap = Direct2D1.CapStyle.Round

S = _d2DFactory.CreateStrokeStyle(SP)

_renderTarget.DrawLine(New Direct2D1.Point2F(10, 60), New Direct2D1.Point2F(200, 60), B, 8, S)

SP.StartCap = Direct2D1.CapStyle.Triangle

SP.EndCap = Direct2D1.CapStyle.Triangle

S = _d2DFactory.CreateStrokeStyle(SP)

_renderTarget.DrawLine(New Direct2D1.Point2F(10, 80), New Direct2D1.Point2F(200, 80), B, 8, S)

SP.StartCap = Direct2D1.CapStyle.Flat

SP.EndCap = Direct2D1.CapStyle.Flat

SP.DashCap = Direct2D1.CapStyle.Round

SP.DashStyle = Direct2D1.DashStyle.Solid

S = _d2DFactory.CreateStrokeStyle(SP)

_renderTarget.DrawLine(New Direct2D1.Point2F(10, 120), New Direct2D1.Point2F(200, 120), B, 6, S)

SP.DashStyle = Direct2D1.DashStyle.Dash

S = _d2DFactory.CreateStrokeStyle(SP)

_renderTarget.DrawLine(New Direct2D1.Point2F(10, 140), New Direct2D1.Point2F(200, 140), B, 6, S)

SP.DashStyle = Direct2D1.DashStyle.Dot

S = _d2DFactory.CreateStrokeStyle(SP)

_renderTarget.DrawLine(New Direct2D1.Point2F(10, 160), New Direct2D1.Point2F(200, 160), B, 6, S)

SP.DashStyle = Direct2D1.DashStyle.DashDot

S = _d2DFactory.CreateStrokeStyle(SP)

_renderTarget.DrawLine(New Direct2D1.Point2F(10, 180), New Direct2D1.Point2F(200, 180), B, 6, S)

SP.DashStyle = Direct2D1.DashStyle.DashDotDot

S = _d2DFactory.CreateStrokeStyle(SP)

_renderTarget.DrawLine(New Direct2D1.Point2F(10, 200), New Direct2D1.Point2F(200, 200), B, 6, S)

.EndDraw()

End With

End If

End Sub

End Class

上面四條線是演示枚舉CapStyle的四種類型,注意第一條線是Flat,第二條線是Square。雖然都是方形,但是很明顯第二條線比第一條線兩邊還多出一點(diǎn)(方形線帽)

下面五條線是演示枚舉DashStyle表示的五個(gè)線型。注意:上面代碼中紅色的部分,DashCap不能設(shè)置為Direct2D1.CapStyle.Flat,如果設(shè)置為Flat,則所有的點(diǎn)都不見(jiàn)了;設(shè)置其他三種類型分別代表不同的點(diǎn)(方形點(diǎn)、圓點(diǎn)、菱形點(diǎn))。

再說(shuō)說(shuō)枚舉DashStyle中的Custom線型。設(shè)定為Custom后,必須用一個(gè)數(shù)組來(lái)指定自定義劃線的線型。數(shù)組按照{實(shí)、空、實(shí)、空……}順序來(lái)指定各部分的長(zhǎng)度,單位是線寬。

例如{2,2}表示2線寬長(zhǎng)的實(shí)線和2線寬長(zhǎng)的空白組成的劃線,也就是枚舉DashStyle中的Dash

{0,2}表示0線寬長(zhǎng)的實(shí)線和2線寬長(zhǎng)的空白組成的劃線,就是枚舉DashStyle中的Dot。這也解釋了DashCap設(shè)置為Direct2D1.CapStyle.Flat時(shí),為何點(diǎn)不見(jiàn)了(設(shè)置為其他值時(shí),點(diǎn)實(shí)際上是由線頭組成的,點(diǎn)本身的長(zhǎng)度為0)。

以此類推,{2,2,0,2}表示DashStyle中的DashDot,{2,2,0,2,0,2}表示DashStyle中的DashDotDot

要注意的是,只有枚舉DashStyle設(shè)置為Custom時(shí),才能傳遞數(shù)組,否則會(huì)直接報(bào)錯(cuò)的。

最后說(shuō)說(shuō)LineJoin枚舉,指的是連接兩條線的連接方式。分別是Miter(折角)、Bevel(倒角)、Round(圓角)、MiterOrBevel(折角或倒角)。和GDI+中的LineJoin枚舉類似,只是MiterOrBevel好像對(duì)應(yīng)GDI+中LineJoin枚舉中的MiterClipped。

說(shuō)說(shuō)MiterOrBevel,當(dāng)折角的值沒(méi)有超過(guò)指定的值(系統(tǒng)指定)時(shí),是Miter(折角),反之超過(guò)的話是Bevel(倒角)。

參數(shù)miterLimit是指折角的限制,低于限制時(shí)會(huì)自動(dòng)添加倒角。參數(shù)miterLimit最小是1。注意的是miterLimit參數(shù)并不是配合LineJoin使用。當(dāng)miterLimit設(shè)置為1的時(shí)候,下面的例子中,LineJoin枚舉設(shè)置成Miter、Bevel、MiterOrBevel效果是一樣的。當(dāng)miterLimit設(shè)置為3的時(shí)候,LineJoin枚舉設(shè)置成Miter、Bevel、MiterOrBevel效果才是不一樣的

下面是LineJoin的示例,由于是演示兩條線的連接,故用了一些后面才會(huì)詳述的代碼。不過(guò),不影響我們理解枚舉LineJoin的各個(gè)設(shè)置值的意義。

左上是Miter,右上是Bevel,左下是Round,右下是MiterOrBevel

Public Class clsDirect2DSample4

Inherits clsDirect2DSample

Public Shadows Sub Render()

If Not _renderTarget Is Nothing Then

With _renderTarget

.BeginDraw()

Dim B As Direct2D1.SolidColorBrush = _renderTarget.CreateSolidColorBrush(New Direct2D1.ColorF(1, 0, 0))

Dim SP As New Direct2D1.StrokeStyleProperties()

Dim S As Direct2D1.StrokeStyle

Dim PG As Direct2D1.PathGeometry

Dim sink As Direct2D1.GeometrySink

PG = _d2DFactory.CreatePathGeometry

sink = PG.Open

sink.BeginFigure(New Direct2D1.Point2F(17, 17), Direct2D1.FigureBegin.Hollow)

sink.AddLine(New Direct2D1.Point2F(45, 85))

sink.AddLine(New Direct2D1.Point2F(85, 45))

sink.AddLine(New Direct2D1.Point2F(85, 125))

sink.AddLine(New Direct2D1.Point2F(165, 17))

sink.EndFigure(Direct2D1.FigureEnd.Open)

sink.Close()

SP.LineJoin = Direct2D1.LineJoin.Miter

SP.MiterLimit = 3

S = _d2DFactory.CreateStrokeStyle(SP)

.DrawGeometry(PG, B, 10, S)

PG = _d2DFactory.CreatePathGeometry

sink = PG.Open

sink.BeginFigure(New Direct2D1.Point2F(217, 17), Direct2D1.FigureBegin.Hollow)

sink.AddLine(New Direct2D1.Point2F(245, 85))

sink.AddLine(New Direct2D1.Point2F(285, 45))

sink.AddLine(New Direct2D1.Point2F(285, 125))

sink.AddLine(New Direct2D1.Point2F(365, 17))

sink.EndFigure(Direct2D1.FigureEnd.Open)

sink.Close()

SP.LineJoin = Direct2D1.LineJoin.Bevel

SP.MiterLimit = 3

S = _d2DFactory.CreateStrokeStyle(SP)

.DrawGeometry(PG, B, 10, S)

PG = _d2DFactory.CreatePathGeometry

sink = PG.Open

sink.BeginFigure(New Direct2D1.Point2F(17, 217), Direct2D1.FigureBegin.Hollow)

sink.AddLine(New Direct2D1.Point2F(45, 285))

sink.AddLine(New Direct2D1.Point2F(85, 245))

sink.AddLine(New Direct2D1.Point2F(85, 325))

sink.AddLine(New Direct2D1.Point2F(165, 217))

sink.EndFigure(Direct2D1.FigureEnd.Open)

sink.Close()

SP.LineJoin = Direct2D1.LineJoin.Round

SP.MiterLimit = 3

S = _d2DFactory.CreateStrokeStyle(SP)

.DrawGeometry(PG, B, 10, S)

PG = _d2DFactory.CreatePathGeometry

sink = PG.Open

sink.BeginFigure(New Direct2D1.Point2F(217, 217), Direct2D1.FigureBegin.Hollow)

sink.AddLine(New Direct2D1.Point2F(245, 285))

sink.AddLine(New Direct2D1.Point2F(285, 245))

sink.AddLine(New Direct2D1.Point2F(285, 325))

sink.AddLine(New Direct2D1.Point2F(365, 217))

sink.EndFigure(Direct2D1.FigureEnd.Open)

sink.Close()

SP.LineJoin = Direct2D1.LineJoin.MiterOrBevel

SP.MiterLimit = 3

S = _d2DFactory.CreateStrokeStyle(SP)

.DrawGeometry(PG, B, 10, S)

.EndDraw()

End With

End If

End Sub

End Class

下面是效果圖

從上圖能看出四種類型的不同。左上是Miter,右上是Bevel,左下是Round,右下是MiterOrBevel

繪制基本圖形和線型(StrokeStyle)的設(shè)置詳解的更多相關(guān)文章

Jupyter自定義設(shè)置詳解

今天專門(mén)花時(shí)間總結(jié)梳理一下jupyter的一些高級(jí)設(shè)置,jupyter我已經(jīng)介紹過(guò)一次基本內(nèi)容了,Setup and Linux | James Chen's Blogs,尤其是如何在服務(wù)器運(yùn)行jup ...

【轉(zhuǎn)】Eclipse Java注釋模板設(shè)置詳解

Eclipse Java注釋模板設(shè)置詳解 設(shè)置注釋模板的入口: Window-Preference-Java-Code Style-Code Template 然后 ...

Win7 NFS 設(shè)置詳解 | X-Space

Win7 NFS 設(shè)置詳解 | X-Space Win7 NFS 設(shè)置詳解

[轉(zhuǎn)]JAVA環(huán)境變量JAVA_HOME、CLASSPATH、PATH設(shè)置詳解

[轉(zhuǎn)] JAVA環(huán)境變量JAVA_HOME.CLASSPATH.PATH設(shè)置詳解 - dreamman的日志 - 網(wǎng)易博客 ...

fiddler軟件測(cè)試——Fiddler抓取https設(shè)置詳解(圖文)(摘抄)

隨筆- 8 文章- 0 評(píng)論- 0 fiddler軟件測(cè)試——Fiddler抓取https設(shè)置詳解(圖文) 強(qiáng)烈推薦(原創(chuàng)親測(cè))!!!Fiddler抓取https設(shè)置詳解(圖文)轉(zhuǎn) 本文主要說(shuō) ...

fiddler軟件測(cè)試——Fiddler抓取https設(shè)置詳解(圖文)

強(qiáng)烈推薦(原創(chuàng)親測(cè))!!!Fiddler抓取https設(shè)置詳解(圖文)轉(zhuǎn) 本文主要說(shuō)明了自己在設(shè)置fiddler抓取https過(guò)程中所遇到的問(wèn)題及解決步驟,特別是fiddler在設(shè)置證書(shū)的環(huán)節(jié)遇到的各 ...

MySQL高可用架構(gòu)之Mycat-關(guān)于Mycat安裝和參數(shù)設(shè)置詳解

MySQL高可用架構(gòu)之Mycat-關(guān)于Mycat安裝和參數(shù)設(shè)置詳解 作者:尹正杰 版權(quán)聲明:原創(chuàng)作品,謝絕轉(zhuǎn)載!否則將追究法律責(zé)任. 一.Mycat介紹 1.什么是Mycat Mycat背后是 ...

【轉(zhuǎn)載】 Eclipse注釋模板設(shè)置詳解

Eclipse注釋模板設(shè)置詳解 網(wǎng)站推薦: 金絲燕網(wǎng)(主要內(nèi)容是 Java 相關(guān)) 木秀林網(wǎng)(主要內(nèi)容是消息隊(duì)列)

loadrunner 運(yùn)行腳本-Run-time Settings-Browser Enmulation設(shè)置詳解

運(yùn)行腳本-Run-time Settings-Browser Enmulation設(shè)置詳解 by:授客 QQ:1033553122 瀏覽器模擬 所有Internet Vuser Header包含一個(gè)標(biāo) ...

隨機(jī)推薦

c# WebBrowser開(kāi)發(fā)參考資料

原文:c# WebBrowser開(kāi)發(fā)參考資料 c# WebBrowser開(kāi)發(fā)參考資料,所有資料的采集均來(lái)自網(wǎng)上 話說(shuō)有了WebBrowser類,終于不用自己手動(dòng)封裝SHDocVw的AxWebBrows ...

設(shè)計(jì)模式組合模式(Composite)精華

23種子GOF設(shè)計(jì)模式一般分為三類:創(chuàng)建模式.結(jié)構(gòu)模型.行為模式. 創(chuàng)建模式抽象的實(shí)例,他們幫助如何創(chuàng)建一個(gè)系統(tǒng)獨(dú)立.這是一個(gè)這些對(duì)象和陳述的組合. 創(chuàng)建使用繼承類的類架構(gòu)更改實(shí)例.的對(duì)象類型模型的建 ...

sdut 3-4 長(zhǎng)方形的周長(zhǎng)和面積計(jì)算

3-4 長(zhǎng)方形的周長(zhǎng)和面積計(jì)算 Time Limit: 1000MS Memory limit: 65536K 標(biāo)題敘述性說(shuō)明 通過(guò)本題的練習(xí)能夠掌握拷貝構(gòu)造函數(shù)的定義和用法: 設(shè)計(jì)一個(gè)長(zhǎng)方形類Rec ...

poj 3273 Monthly Expense (二分)

//最大值最小 //天數(shù)的a[i]值是固定的 不能改變順序 # include algorithm # include string.h # include s ...

JSLint是一個(gè)JavaScript的代碼質(zhì)量工具

JSLint是一個(gè)JavaScript的代碼質(zhì)量工具 可能都或多或少的知道JSLint是一個(gè)JavaScript的代碼質(zhì)量工具,一個(gè)JavaScript語(yǔ)法檢查器和校驗(yàn)器,它能分析JavaScript ...

3. SQL Server數(shù)據(jù)庫(kù)狀態(tài)監(jiān)控 - 可用空間

原文:3. SQL Server數(shù)據(jù)庫(kù)狀態(tài)監(jiān)控 - 可用空間 數(shù)據(jù)庫(kù)用來(lái)存放數(shù)據(jù),那么肯定需要存儲(chǔ)空間,所以對(duì)磁盤(pán)空間的監(jiān)視自然就很有必要了. 一. 磁盤(pán)可用空間 1. 操作系統(tǒng)命令或腳本.接口或工具 ...

Warning: Cannot modify header information - headers already sent by (output started at

一般來(lái)說(shuō)在header函數(shù)前不能輸出html內(nèi)容,類似的還有setcookie() 和 session 函數(shù),這些函數(shù)需要在輸出流中增加消息頭部信息.如果在header()執(zhí)行之前有echo等語(yǔ)句,當(dāng) ...

JS復(fù)選框選中

Web前端之復(fù)選框選中屬性 熟悉web前端開(kāi)發(fā)的人都知道,判斷復(fù)選框是否選中是經(jīng)常做的事情,判斷的方法很多,但是開(kāi)發(fā)過(guò)程中常常忽略了這些方法的兼容性,而是實(shí)現(xiàn)效果就好了.博主之前用戶不少方法,經(jīng)常 ...

leetcode[158] Read N Characters Given Read4 II - Call multiple times

想了好一會(huì)才看懂題目意思,應(yīng)該是: 這里指的可以調(diào)用更多次,是指對(duì)一個(gè)文件多次操作,也就是對(duì)于一個(gè)case進(jìn)行多次的readn操作.上一題是只進(jìn)行一次reandn,所以每次返回的是文件的長(zhǎng)度或者是n, ...

shell腳本中執(zhí)行另一個(gè)shell腳本

分類: 可以在一個(gè)shell腳本中執(zhí)行另一個(gè)shell腳本(或非可執(zhí)行文件,主要用于取得一些變量的值),方法是: . 文件名(包括路徑) 或 變量=文件名(包括路徑) . $變量 注意,圓點(diǎn)后面有 ...

熱門(mén)專題

微服務(wù)INSTALL服務(wù)端一直報(bào)錯(cuò)CENTOS 7 安裝截圖軟件SHUTTERDB與LOG對(duì)數(shù)關(guān)系雅虎YUI的RESETECHARTS地圖 關(guān)閉漣漪效果THIS方法用數(shù)組顏色ARDUINO報(bào)錯(cuò)373WINFORM的冒泡雙數(shù)組TRIE樹(shù) AC自動(dòng)機(jī)FLUENT中怎么看傳熱系數(shù)C# LIST 獲取前1000條JS PUSH 參數(shù)REACT 字段超長(zhǎng)縮放顯示,鼠標(biāo)懸浮氣泡顯示JAVA PDF加水印 斜著一層層 鋪滿CHROME ERR_UNSAFE_PORT 所有端口VUE CESIUM 繪制立方體如何利用VAR來(lái)調(diào)資產(chǎn)類別的權(quán)重LINUX運(yùn)行MAPREDUCE的JAR時(shí)報(bào)錯(cuò)ADB抓取LOG命令LINUX9 安裝 VLC

Home

Powered By WordPress

請(qǐng)高手幫忙翻譯?。?!

人名就不翻了,我不懂法語(yǔ),其他應(yīng)該不成問(wèn)題。

作者:Ethel Baraona Pohl

文件出處:建筑技術(shù)與材料,選擇,可持續(xù)性,法國(guó),巴黎,RSie(n)工作室

建筑師:RSie(n)

地點(diǎn):巴黎,法國(guó)

創(chuàng)作團(tuán)隊(duì):Fran?ois Roche, Stéphanie Lavaux, Jean Navarro

溶液培養(yǎng)系統(tǒng):RSie(n)

關(guān)鍵尺寸:130平方米

完工時(shí)間:2008

圖片出處:RSie(n)

玻璃燒瓶制作:Pedro Veloso,包括來(lái)自他過(guò)去的學(xué)生Vanessa Mitrani的參考意見(jiàn)

綠色樣本的結(jié)構(gòu)研發(fā)與建造:Christian Hubert De Lisle Cie

設(shè)定:

1)一座作為獵鴨小屋的私人實(shí)驗(yàn)室的設(shè)計(jì)

2)120株用溶液培養(yǎng)的]蕨類植物

3)300個(gè)玻璃燒杯“吹風(fēng)”部件

用途:細(xì)菌培養(yǎng)

通過(guò)折射提供更多光線

作為在封閉的庭院與附近對(duì)面景色流通的“后窗”

4)收集雨水用來(lái)灌溉植物,操作由單獨(dú)的機(jī)械滴灌系統(tǒng)實(shí)現(xiàn),并且鍵入營(yíng) 養(yǎng)添加物以控制比例

5)惡魔之石突出體(“第三類接觸封閉”),來(lái)自于泥盆紀(jì)(恐龍時(shí)代)的品種(蕨類),由高科技培養(yǎng)以實(shí)現(xiàn)在現(xiàn)實(shí)法國(guó)時(shí)期的回歸

根據(jù)維基網(wǎng),液體栽培法Hydroponics(源自希臘語(yǔ)hydro水和ponos勞工)是一種不用土壤而用含有礦物養(yǎng)分的液體培養(yǎng)作物的方法。陸地上的植物只有當(dāng)它們的根在營(yíng)養(yǎng)液中或者在某種惰性介質(zhì)中,如珍珠巖,砂礫或渣絨的時(shí)候才能生長(zhǎng)。

所有的玻璃收集器均有一種叫玻璃吹塑的精巧技術(shù)來(lái)完成。這是一種借有吹風(fēng)管(blowpipe和blow tube只是兩種不同的稱謂,沒(méi)有重復(fù)翻譯)使融化了的玻璃變成一個(gè)氣泡,或者雛型的玻璃塑型技術(shù)。原材料在華氏2400度(攝氏1315度)的時(shí)候變成玻璃,玻璃所發(fā)出的熱量足夠讓它看起來(lái)處于白熾狀態(tài)。


本文標(biāo)題:wordpress氣泡 氣泡文件
當(dāng)前鏈接:http://weahome.cn/article/ddeipoi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部