Discussion Board

Page 1 of 2 12 LastLast
Results 1 to 15 of 16
  1. #1
    Registered User midday's Avatar
    Join Date
    Nov 2007
    Posts
    45
    Вот у меня например приложение использует иконки.. Где их хранить ? Как к ним обращаться ? Куда их сохранять уже в самом приложении..

    В текущее местоположение приложения ? А как это местоположение узнать ?

    Ну еще оффтоп почти. У меня есть идентификатор создаваемых иконок ( целочисленный ), как мне сохранить иконку с именем таким как идентефикатор и как считать ?

  2. #2
    Registered User midday's Avatar
    Join Date
    Nov 2007
    Posts
    45
    Можно так:

    // make sure this is long enough or use HBufC and calculate
    // length at runtime
    TBuf<64> buf;
    buf.Zero();
    TInt32 integerToPrint = 54;
    _LIT(KIntegerFormat, "Integer: %d");
    buf.AppendFormat(KIntegerFormat, integerToPrint);

    // buf now contains "Integer: 54"
    // do whatever you like with it

  3. #3
    Nokia Developer Champion stenlik's Avatar
    Join Date
    Mar 2004
    Location
    Czech Republic
    Posts
    2,037
    Здравствуй,

    I put all gfx into application private folder subdirectory:

    Code:
    	TFileName path;
    	TFileName pathWithoutDrive;
    	CEikonEnv::Static()->FsSession().PrivatePath( pathWithoutDrive );
    	
    	// Extract drive letter into appDrive:
    	#ifdef __WINS__
    		path.Copy( _L("c:") );
    	#else
    		RProcess process;
    		path.Copy( process.FileName().Left(2) );
    	#endif 
    	path.Append( pathWithoutDrive );
    	path.Append( KGfxSubdirectory );
    STeN

  4. #4
    Super Contributor ivey's Avatar
    Join Date
    Jun 2006
    Location
    Moscow, Russia
    Posts
    803
    1. Иконки и прочие ресурсы обычно хранят в \resource\apps\
    2. Как загружать и что с иконками делать - можно поискать примеры в папке S60Ex на предмет использования метода CreateIconL()
    Regards,
    ivey

  5. #5
    Registered User midday's Avatar
    Join Date
    Nov 2007
    Posts
    45
    Вот допустим у меня есть десяток уже готовых MBM файла. Как сделать, чтоб при компилляции они копировались допустим в папку GFX в текущей папке приложения ?

  6. #6
    Super Contributor ivey's Avatar
    Join Date
    Jun 2006
    Location
    Moscow, Russia
    Posts
    803
    При компиляции? Никак, я думаю. А почему руками их туда не положить?
    Regards,
    ivey

  7. #7
    Nokia Developer Champion stenlik's Avatar
    Join Date
    Mar 2004
    Location
    Czech Republic
    Posts
    2,037
    Hi,

    1/ Add into bld.inf the makefile line for crateing bitmaps:

    PRJ_MMPFILES
    gnumakefile XXX_bitmaps.mk




    Code:
    ifeq (WINS,$(findstring WINS, $(PLATFORM)))
    ZDIR=$(EPOCROOT)epoc32\release\winscw\udeb\z
    else
    ZDIR=$(EPOCROOT)epoc32\data\z
    endif
    
    TARGETDIR=$(ZDIR)\RESOURCE\APPS
    ICONTARGETFILENAME=$(TARGETDIR)\XXXIcons.mbm
    ICONINCLUDEFILENAME=$(EPOCROOT)epoc32\include\XXXIcons.mbg
    do_nothing :
    	@rem do_nothing
    
    MAKMAKE : do_nothing
    
    BLD : do_nothing
    
    CLEAN : do_nothing
    
    LIB : do_nothing
    
    CLEANLIB : do_nothing
    
    RESOURCE :
    	call makedir.bat $(TARGETDIR)
    	bmconv /h$(ICONINCLUDEFILENAME) $(ICONTARGETFILENAME) /c24..\..\Gfx\Data\icon1.bmp 
    /c24..\..\Gfx\Data\icon2.bmp 
    ...
    
    
    FREEZE : do_nothing
    SAVESPACE : do_nothing
    RELEASABLES :
    	@echo $(ICONTARGETFILENAME)
    FINAL : do_nothing
    where makedir.bat is

    Code:
    @echo off
    :START
     cd %1 2>NUL
     if ERRORLEVEL 1 goto MKDIR
     goto EXIT
    
    :MKDIR
     mkdir %1
    
    :EXIT
    BR

    Modify the .mk file to fit your needs.
    STeN

  8. #8
    Nokia Developer Champion stenlik's Avatar
    Join Date
    Mar 2004
    Location
    Czech Republic
    Posts
    2,037
    Hi,

    When I need to change bitmaps without recompilig I'm using batch file like this:

    Code:
    rem @echo off
    echo ###########################################################
    echo ## CREATE XXX MBM FILE
    echo ## EPOCROOT example:\Symbian\9.1\S60_3rd_MR\
    echo ###########################################################
    
    echo Create mbm...
    call bmconv /hXXX.mbg XXX.mbm /c12icon1.bmp /c12icon1.bmp /c12icon1.bmp  ...
    
    echo Create 'private' dir...
    call mkdir %EPOCROOT%Epoc32\winscw\c\Private\a0004082\gfx\ 2> NUL
    
    echo Copy mbm file...
    call move XXX.mbm %EPOCROOT%Epoc32\winscw\c\Private\a0004082\gfx\XXX.mbm
    
    echo Copy mbg include file...
    call move XXX.mbg %EPOCROOT%Epoc32\include\XXX.mbg
    BR
    STeN

  9. #9
    Все хранить в private\"app-uid" папке, на эмуляторе собирать bitmaps удобно из mmp файла. Например так:

    START BITMAP ground_m.mbm
    TARGETPATH \private\"app-uid"
    HEADER
    SOURCEPATH ..\Common\bmp\Ground
    source 1 00m.bmp
    source 1 01m.bmp
    source 1 02m.bmp

    END

    На телефон, в папку private\"app-uid" копировать файлы в .pkg при сборке .sis.

  10. #10
    Nokia Developer Champion Den123's Avatar
    Join Date
    Jul 2007
    Location
    Magnitogorsk, Russia
    Posts
    536
    Quote Originally Posted by midday View Post
    Вот допустим у меня есть десяток уже готовых MBM файла.
    Кстати, а почему SVG не используете ? MBM - это уже не модно, для третьего издания

  11. #11
    Registered User midday's Avatar
    Join Date
    Nov 2007
    Posts
    45
    Ну вообщем не знаю... ^_^ Хотел изучить сначала это.. Старых телефонов щас тоже очень много.

    Да и про SVG я вообще почти не слышал ) Где можно почитать ? Помню только что это Scalable Vector Graphics

    Code:
    	TFileName path;
    	TFileName pathWithoutDrive;
    	CEikonEnv::Static()->FsSession().PrivatePath( pathWithoutDrive );
    	
    	// Extract drive letter into appDrive:
    	#ifdef __WINS__
    		path.Copy( _L("c:") );
    	#else
    		RProcess process;
    		path.Copy( process.FileName().Left(2) );
    	#endif 
    	path.Append( pathWithoutDrive );
    	path.Append( KGfxSubdirectory );
    Here my path is seems like this:
    L"c:\\Private\\ee4c519a\\" there ee4c519a - my UID
    But why carbide create c:\\Private\\10003a3f path in emulator ?

    Черт ) Вот короче... Как зайти в папку приватную эту на компе, которая в эмуляторе ? Карбит в mmp файле targetpath -у ставит значение Private\\10003a3f Зачем ? откуда вообще это значение ?Я чего-то не понимаю.
    Last edited by midday; 2007-12-03 at 16:37.

  12. #12
    Quote Originally Posted by Den123 View Post
    Кстати, а почему SVG не используете ? MBM - это уже не модно, для третьего издания
    Вот как бы процесс создания векторной иконки кажется в разы сложнее чем обычной.
    Всего несколько программ которые могут их в SVG-T который понимает S60 сохранять. Ну а касательно например производства пару тысяч спрайтов для какой нить игры, то вообще затрудняюсь представить сей процесс.

  13. #13
    Nokia Developer Champion Den123's Avatar
    Join Date
    Jul 2007
    Location
    Magnitogorsk, Russia
    Posts
    536
    Вот как бы процесс создания векторной иконки кажется в разы сложнее чем обычной.
    Всего несколько программ которые могут их в SVG-T который понимает S60 сохранять.
    Да, создавать svg tiny пока проблемно, согласен. Я в Inkscape рисую аккуратно, потом руками подправляю... На шедевры пока не претендую Вы, случаем, программно модифицировать svg-иконку не пробовали ? Как обычный xml ее обрабатывать ? Хотелось бы узнать, насколько такой подход реален - собираюсь использовать.

    Ну а касательно например производства пару тысяч спрайтов для какой нить игры, то вообще затрудняюсь представить сей процесс.
    Ну если речь о таких объемах
    А вот иконки для элементов списка, например, вполне можно в svg- формате хранить.

  14. #14
    Nokia Developer Champion stenlik's Avatar
    Join Date
    Mar 2004
    Location
    Czech Republic
    Posts
    2,037
    Кстати, а почему SVG не используете ? MBM - это уже не модно, для третьего издания
    я согласен - это уже не модно, но в играх являются лучше нормальные bitmapы.

    Пока,

    Cтен

  15. #15
    Nokia Developer Champion stenlik's Avatar
    Join Date
    Mar 2004
    Location
    Czech Republic
    Posts
    2,037
    To midday:

    - The private path subfolder could be accessed only by your application (and few very special others - which are normally not publicly available). Each application has unique UID assigned and this is the application subfolder name within private directory. Putting you images here, nobody will be able to access them, generally it is ideal place for files you do not want to be modified by phone users. In emulator such folder is located in the "\Symbian\9.1\S60_3rd_MR\Epoc32\winscw\c\private\10003a3"

    - SVG is vetor XML based graphic format standardized by OMA. It is said that phones works with tiny SVG (SVG-T), which support only subsest of the normal SVG functionality, but in fact, using Adobe Illustrator the SVG 1.0 format is O.K.

    Check the pdf file here:
    http://www.forum.nokia.com/info/sw.n..._0_en.pdf.html

    BR
    STeN

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved