forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   ImageFromImage (http://forum.boolean.name/showthread.php?t=598)

Red Ninja(Михайлов Никита) 21.01.2006 13:52

Я вот делаю спрайт например персонажа
и вырезаю картинку,но прозрачности нет!!!!!
DrawImage(ImageFromImage(LoadImage('/1.png'),0,0,20,20), 10,20);

как сделать подскажите???

jimon 21.01.2006 14:07

помойму в png есть альфаканал :)
и хз - поидее там розовый фон какойта надо вставлять

Red Ninja(Михайлов Никита) 21.01.2006 14:42

Да вроде безразнецы
какой альфа канал цветом будет это паставить можно!(Даже в редакторе Паскаля) :)

А вот вырезает он без этого канала,а мне какрас надо чтобы верезал!!!

Piligrim 21.01.2006 22:19

В MP с прозрачностью проблемы, что-то он не так преобразовывает. Если пользоваться java функциями, то все окей!
Пользуйся спрайтами.

Red Ninja(Михайлов Никита) 22.01.2006 08:08

А вот на сайте MP в примере Dave
какрас используються спрайты,там даже есть библиотека но какие функции и процедуры я разобраться немогу!!!

Piligrim 24.01.2006 12:16

Гады они просто. Возьми у меня на сайте. Там все по русски.
А ImageFromImage я код посмотрел, там кусок исходной картинки рисуется на результирующей. О какой прозрачности потом можно говорить.

Red Ninja(Михайлов Никита) 25.01.2006 09:57

pilgrim,это всё хорошо но ты написал для Мидлета-2
а мне надо чтобы работала на Мидлет-1!!!!

Piligrim 25.01.2006 21:03

В MIDP 1.0 не было поддержки спрайтов и тайлов. Поэтому-то под него и было трудно писать игры. Покопаюсь в java, чтобы сделать прозрачность.
А Dave ничего нет, там все классы стандартны. А функция extractimage это ImageFormImage один в один. Нет там прозрачности, просто хорошая математика. Весь вывод на экран обрамлен Clip, и фон у всех картинок черный.

Red Ninja(Михайлов Никита) 26.01.2006 11:51

extractimage = ImageFormImage это я давно понел!

А вот спрайт героя сделан с прозрачностью,это значит если они вырезаю extractimage или ImageFormImage то фон будет белый ,а не чёрный!

И подойди к двери и ты увидешь что есть прозрачность,или посмотри на паука в 3 уровни! :)

Piligrim 06.02.2006 12:24

Я тут draw_image написал. Вывод части картинки на экран с прозрачностью. Думаю это то что тебе нужно. Посмотри у меня на сайте.

Red Ninja(Михайлов Никита) 06.02.2006 17:39

Да я уже написал!
:)

Red Ninja(Михайлов Никита) 06.02.2006 17:41

Вот страно в этой теме пропушеный сообшения! :(

pax 16.04.2006 12:30

Вобщем посмотрел как "извлекаются" прозрачные тайлы в MIDP 1.0... оказывается они не извлекаются, а просто используется одна и таже каотинка с совместным использованием setClip() так, что рисуется только нужная часть, а потом опять же с помощью setClip() возвращается в полноэкранное рисование.

pax 16.04.2006 20:01

Вот написал простой класс для этих целей
Код:

import javax.microedition.lcdui.*;

public class MyTileImage {
 public Image TileImage;
 public static Graphics g;
 public int iWidth;
 public int iHeight;
 public int tWidth;
 public int tHeight;
 public int maxCountTiles;
 public int rows;
 public int cols;


 public MyTileImage(Graphics _g, String fName, int TileWidth, int TileHeight){
  g=_g;
  try {
  TileImage = Image.createImage(fName);
  }
  catch (Exception ex) {}
  tWidth = TileWidth;
  tHeight = TileHeight;
  iWidth = TileImage.getWidth();
  iHeight = TileImage.getHeight();
  rows = iHeight/tHeight;
  cols = iWidth/tWidth;
  maxCountTiles = cols * rows;
 }

 public void DrawImage(int index, int x, int y, int style){
  int row=index/cols;
  int col=index%cols;

  g.setClip(x, y, tWidth, tHeight);
  g.drawImage(TileImage, x-(col)*tWidth, y-(row)*tHeight, style);
  g.setClip(0,0,Game.displayWidth,Game.displayHeight);
 }

 public void Destroy(){
  g=null;
  TileImage=null;
 }
}


Piligrim 17.04.2006 09:35

Все бы хорошо. Только тема про МР и для него эта проблема уже решена. Не устаю повторять читайте не только свои сообщения.


Часовой пояс GMT +4, время: 19:13.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot