Desire for wealth

Last-Modified: Tuesday, 27-Jun-2023 21:06:34 JST / PV : 23981438 / Owner : Nihondo

߂ɂ

�ЂƂ‘O�̋L��

Xcode�v���O���~���O���� - 3/20 01:10

�ЂƂ�̋L��

�R�R�A�}���� #02 - �����t���̕������`�悷�� ���̂Q - 3/25 01:16

3��22���i���j

�R�R�A�}���� #01 - �����t���̕������`�悷��

RRA}CV�F�֓���a���l�����ꂽ�R�̉��ɂ��鏬���ȃT�C�g�B�����ɂ͂䂩��P���u�ȊǗ��l�ƁA����n�b�N�����̊Ǘ��l�ƁACocoa �̕׋����n�߂��Ǘ��l������̂ł��i���Ȃ񂩎��s���ۂ��j�B

�Ƃ����킯�ŁACocoa �ɂ�� HackENT �̊J����ʂ��āA������������N���̖��ɗ��‚�������Ȃ�������A�ė��p�ł������Ȃ��̂��܂Ƃ߂Ă����w�R�R�A�}���فx�ł��B

����ڂ̍�����J���I�P�ɂ͕K�{�ȉ���蕶���̏������ł��B

������ƋC���������߂ɁA����ȃl�^��I��ł݂܂����B

蕶̗P�@蕶̗Q
����Ȋ����ɉ���肳�ꂽ�����������̂͌��\��V�Ȃ�ł���B

#01 - �����t���̕������`�悷��
-(void) writeBorderString: (NSString *) string
                  AtPoint: (NSPoint) point
            withAttribute: (NSMutableDictionary *) fontAttribute
       andBorderAttribute: (NSMutableDictionary *) fontBorderAttribute
              borderWidth: (float) width
/*
    string�F�`�悷�镶����
    point�F�`��J�n�ʒu
    fontAttribute�F�h��‚Ԃ��̑����iNSFontAttributeName�ANSForegroundColorAttributeName�̂݁j
    fontBorderAttribute�F�����̑����iNSForegroundColorAttributeName�̂݁j
    width�F�����̕�
*/
{
    NSBezierPath *path = [[NSBezierPath bezierPath] autorelease];
    NSTextStorage *textStorage = [[[NSTextStorage alloc] initWithString:string
                                                             attributes:fontAttribute] autorelease];
    NSLayoutManager *layoutManager = [[[NSLayoutManager alloc] init] autorelease];
    NSTextContainer *textContainer = [[[NSTextContainer alloc] init] autorelease];
    NSRange range;
    float x = point.x;
    float y = point.y;
    unsigned glyphLength;
    
    /* NSLayoutManager�i�O���t�̃��C�A�E�g����ѕ`��A�����j�̏��� */
    [layoutManager addTextContainer:textContainer];
    /* NSTextStorage�i�������ێ����Ă���j�ɁA���C�A�E�g��K�p���� */
    [textStorage addLayoutManager:layoutManager];
    /* NSTextContainer�i�e�L�X�g�̕`��͈́j */
    range = [layoutManager glyphRangeForTextContainer:textContainer];
    
    /* �O���t�ԍ��̔z����쐬 */
    NSGlyph glyph[range.length];
    glyphLength = [layoutManager getGlyphs:glyph range:range];
    
    /* �����̕`�� */
    /* �x�W�F�p�X�̊J�n�ʒu��ݒ� */
    /*�idescender�Fg,j,p,q,y�Ȃǃx�[�X���C����艺�ɐL�тĂ��镔����␳����j */
    [path moveToPoint:NSMakePoint(x,y-[[fontAttribute objectForKey:NSFontAttributeName] descender])];
    /* �����̑�����ݒ� */
    [path setLineWidth:borderWidth];
    /* �����̊p�̊ۂ� */
    [path setLineJoinStyle:NSRoundLineJoinStyle];
    /* �����̐F��ݒ� */
    [[fontBorderAttribute objectForKey:NSForegroundColorAttributeName] set];
    /* �����O���t�ԍ��̔z�񂩂�x�W�F�p�X���쐬 */
    [path appendBezierPathWithGlyphs:glyph count:glyphLength
                                          inFont:[fontAttribute objectForKey:NSFontAttributeName]];
    /* �x�W�F�p�X��`�� */
    [path stroke];
    
    /* ���g�̓h��‚Ԃ� */
    /* �x�W�F�p�X�̊J�n�ʒu���ēx�ݒ�i�y���ʒu��߂��j */
    [path moveToPoint:NSMakePoint(x,y-[[fontAttribute objectForKey:NSFontAttributeName] descender])];
    /* �h��‚Ԃ��̐F��ݒ� */
    [[fontAttribute objectForKey:NSForegroundColorAttributeName] set];
    /* �x�W�F�p�X����h��‚Ԃ� */
    [path fill];
}

�L���b�`�[�ȃl�^��I�񂾂����e���d�����Ȃ��Ă��܂��܂����BNSTextStorage �ɑ����t����������i�[���āANSLayoutManager �ł��̕�������O���t�i�����̗֊s�Ƃł��������炢���̂ł��傤���ˁj�ɕϊ����ă��C�A�E�g���āANSTextContainer �ŕ`��͈͂��m�肵�܂��B

�O���t�ԍ��̔z������Ƃɂ��ăO���t�𓾂�̂ł����A�ŏ� NSTextStorage �̃t�H���g�����ƁA�`�悵�����O���t�̃t�H���g�������ԈႦ�Đݒ肵�Ă������߂ɐ�����J����������B�t�H���g���Ⴆ�΃O���t�ԍ����Ⴄ�̂�������O�݂����ł��ˁB

���āA���̊֐��ł����ǁA����Ȋ����Ŏg���܂��B
    [theImage lockFocus];

    /* �t�H���g��ނƃT�C�Y���w�� */
    [fontAttribute setObject:[NSFont fontWithName:@"Osaka" size:fontSize] forKey:NSFontAttributeName];
    /* �t�H���g�̓h��‚Ԃ��F���w�� */
    [fontAttribute setObject:[NSColor whiteColor] forKey:NSForegroundColorAttributeName];

    /* �t�H���g�̉����F���w�� */
    [fontBorderAttribute setObject:[NSColor blackColor] forKey:NSForegroundColorAttributeName];

    [self writeBorderString:string AtPoint:NSMakePoint(0,0)
              withAttribute:fontAttribute andBorderAttribute:fontBorderAttribute borderWidth:10.0];

    [theImage unlockFocus];

�t�H���g�����𒆐g�Ɖ��Ƃŕ����Đݒ肵�܂��B�Ȃ񂩂��̕ӂ̎g�����͐݌v�~�X�����C������Ȃ��B

����Ȃ킯�����‚܂ő������͂߂���߂���s���ł����A�Ƃ肠�����w�R�R�A�}���فx�X�^�[�g�����܂��B

����́A����݂����Ȃ܂Ƃ܂������̂���Ȃ��āA�����̊o�������݂����Ȃ��̂ɂȂ��Ă����Ǝv���Ă��܂����A���L�ł�����̂͂ǂ�ǂ񋤗L���Ă����������̂ł��ˁB�Ƃ肠��������������`�悪��݂��Ȃ��H

2004/3/22 01:14

̃Gg[͂ĂȃubN}[Nɒlj

�ŋ߂̋L��

�T���X�C��Bluetooth���W�J�Z�Œ�A&G�𒮂��ď��a�����o�� - 11/28 18:03

�䂩��͂䂩�� �����͂��Ȃ��� - 9/28 00:30

������v�ǃ}�N���X ���̃I�P�R���u������nj��y�v�ŗܑB���� - 9/18 00:30

���x�m���K��Œ����u��ԓ��s�i�ȁI�p���c�@�[�t�H�[�I�v�͊i�� - 8/29 02:28

GPD Pocket��OS X�̉�ʂ�\�����Ă݂����ǔN��I��Retina�����K�{ - 8/20 23:51

Nintendo Switch���ł����Z�b�g��͍�(GPD Pocket/Win�ł�) - 8/13 19:18

�G���}���K�搶 BD 2�����TCD�̎��������������҈ȏ�̂��̂����� - 8/ 7 01:08

iPhone�̔񏃐������[�g�v���C�A�v���Ńh���N�GXI���� - 7/30 11:42

�u��-MEN �k�C�����򂢂ɂ��������v�݂͂悵�̃t�@���Ƃ䂩���t�@���͓ǂނׂ� - 7/23 23:54

�X�v���g�D�[��2�̕t�^�߂��ĂŃR���R���R�~�b�N��30���N�Ԃ�ɔ������b - 7/15 23:00

����ɈȑO�̋L����