2010-03-28 5 views

Répondre

4

Comme le souligne Plamen sur le Quartz 2D documentation mérite d'être lu. En outre, le cours note are available online (format VoodooPad) pour mon cours de développement iPhone, où je consacre une classe entière au dessin 2D Quartz. L'exemple d'application QuartzExamples que j'ai créé montre des concepts de dessin plus avancés, mais l'exemple QuartzDemo d'Apple est un meilleur point de départ pour voir comment réaliser un dessin simple.

À titre d'exemple de dessin tiques pour une règle, ce qui suit est le code que je l'ai utilisé pour faire quelque chose de similaire:

NSInteger minorTickCounter = majorTickInterval; 
NSInteger totalNumberOfTicks = totalTravelRangeInMicrons/minorTickSpacingInMicrons; 
CGFloat minorTickSpacingInPixels = currentHeight/(CGFloat)totalNumberOfTicks; 

CGContextSetStrokeColorWithColor(context, [MyView blackColor]); 

for (NSInteger currentTickNumber = 0; currentTickNumber < totalNumberOfTicks; currentTickNumber++) 
{ 
    CGContextMoveToPoint(context, leftEdgeForTicks + 0.5, round(currentTickNumber * minorTickSpacingInPixels) + 0.5); 

    minorTickCounter++; 
    if (minorTickCounter >= majorTickInterval) 
    { 
     CGContextAddLineToPoint(context, round(leftEdgeForTicks + majorTickLength) + 0.5, round(currentTickNumber * minorTickSpacingInPixels) + 0.5); 
     minorTickCounter = 0;    
    } 
    else 
    { 
     CGContextAddLineToPoint(context, round(leftEdgeForTicks + minorTickLength) + 0.5, round(currentTickNumber * minorTickSpacingInPixels) + 0.5); 
    } 

} 

CGContextStrokePath(context); 

currentHeight est la hauteur de la zone à couvrir, et [MyView blackColor] retourne simplement CGColorRef représentant la couleur noire.

+0

cool truc homme. Merci. – dontWatchMyProfile

+0

le code n'est pas clair (comme syntaxe), s'il vous plaît rendre l'exemple plus clair, comment vous avez créé et la hauteur de sat pour ce contexte ... etc –