/ / Como desenhar uma régua animatable com o Quartz2D? - iphone, gráficos de núcleo, gráficos de quartzo, quartzo-2d

Como desenhar uma régua animatable com Quartz2D? - iphone, gráficos de núcleo, gráficos de quartzo, quartzo-2d

Eu gostaria de desenhar as linhas de uma régua simples com Quartz2D, apenas para praticar.

Como eu não tenho idéia sobre como fazer gráficos vetoriais programaticamente no iPhone, talvez alguém possa me indicar um bom tutorial para começar?

Respostas:

4 para resposta № 1

Como Plamen aponta, o Documentação 2D de quartzo vale a pena ler. Além disso, as anotações do curso estão disponíveis online (Formato VoodooPad) para o meu curso de desenvolvimento do iPhone, onde dedico uma turma inteira ao desenho 2D de quartzo. o QuartzExamples exemplo de aplicativo que eu criei mostra alguns conceitos de desenho mais avançados, mas a Apple "s QuartzDemo sample é um lugar melhor para começar a ver como você pode fazer um desenho simples.

Como um exemplo de tiques de desenho para uma régua, o código a seguir é o que eu usei para fazer algo semelhante:

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);

Onde currentHeight é a altura da área a cobrir e [MyView blackColor] simplesmente retorna um CGColorRef representando a cor preta.


2 para resposta № 2

A documentação oficial é muito boa, então você seria melhor começar com isso: http://developer.apple.com/iphone/library/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/Introduction/Introduction.html