Doggie
6.7.1
Doggie는 Apple의 Swift를위한 기초 도서관입니다. 여기에는 수학, 가속, 신호 처리 및 그래픽 기능이 포함됩니다.
let shape = try Shape ( code : " M100 0c0-100-236.60 36.60-150 86.60S36.60-136.60-50-86.60 100 100 100 0z " )
let region = ShapeRegion ( shape , winding : . nonZero )
let ellipse = ShapeRegion ( ellipseIn : shape . boundary )| 작업 | 시사 |
|---|---|
region.union(ellipse) | ![]() |
region.intersection(ellipse) | ![]() |
ellipse.subtracting(region) | ![]() |
region.subtracting(ellipse) | ![]() |
region.symmetricDifference(ellipse) | ![]() |
let collection = try FontCollection ( data : fontFileData )
if let font = collection . first ? . with ( size : 64 ) {
let string = " Doggie u{0301} " . precomposedStringWithCanonicalMapping
let glyphs = font . glyphs ( with : string . unicodeScalars )
let advances = glyphs . map { font . advance ( forGlyph : $0 ) } . reductions ( 0 , + )
var shape = Shape ( )
for (advance , glyph ) in zip ( advances , glyphs ) {
var outline = font . shape ( forGlyph : glyph )
outline . center . x += advance
shape . append ( contentsOf : outline . identity )
}
print ( shape . encode ( ) )
} let context = ImageContext < ARGB32ColorPixel > ( width : 100 , height : 100 , colorSpace : ColorSpace . sRGB )
let ellipse1 = Shape ( ellipseIn : Rect ( x : 10 , y : 35 , width : 55 , height : 55 ) )
let ellipse2 = Shape ( ellipseIn : Rect ( x : 35 , y : 10 , width : 55 , height : 55 ) )
context . draw ( shape : ellipse1 , winding : . nonZero , color : RGBColorModel ( red : 247 / 255 , green : 217 / 255 , blue : 12 / 255 ) )
context . draw ( shape : ellipse1 , stroke : Stroke ( width : 1 , cap : . round , join : . round , color : RGBColorModel ( ) ) )
context . draw ( shape : ellipse2 , winding : . nonZero , color : RGBColorModel ( red : 234 / 255 , green : 24 / 255 , blue : 71 / 255 ) )
context . draw ( shape : ellipse2 , stroke : Stroke ( width : 1 , cap : . round , join : . round , color : RGBColorModel ( ) ) )
let image : Image < ARGB32ColorPixel > = context . image
< svg width = " 200 " height = " 200 " viewBox = " 0 0 220 220 "
xmlns = " http://www.w3.org/2000/svg " >
< filter id = " displacementFilter " >
< feTurbulence type = " turbulence " baseFrequency = " 0.05 "
numOctaves = " 2 " result = " turbulence " />
< feDisplacementMap in2 = " turbulence " in = " SourceGraphic "
scale = " 50 " xChannelSelector = " R " yChannelSelector = " G " />
</ filter >
< circle cx = " 100 " cy = " 100 " r = " 100 "
style = " filter : url ( #displacementFilter ) " />
</ svg > let context = ImageContext < Gray16ColorPixel > ( width : 220 , height : 220 , colorSpace : . default )
context . draw ( ellipseIn : Rect ( x : 0 , y : 0 , width : 200 , height : 200 ) , color : . black )
var image = context . image
let turbulence : Image < RGBA32ColorPixel > = SVGTurbulence ( 220 , 220 , . turbulence , nil , . identity , 0 , 0.05 , 2 )
image = DisplacementMap ( image , turbulence , 0 , 1 , 50 ) 
문서는 여기에서 찾을 수 있습니다.
아래 표에는 사용 가능한 플랫폼/특정 값이 순서대로 나열되어 있습니다.
| 플랫폼 | 특정한 | 설명 |
|---|---|---|
| 0 | 맥스 (<= 4) | 유니 코드 |
| 3 | 10 | Windows, 유니 코드 UCS-4 |
| 3 | 1 | Windows, 유니 코드 BMP (UCS-2) |
모든 사람들이 풀 요청을 만들도록 환영합니다.
Doggie는 MIT 라이센스에 따라 라이센스가 부여됩니다.