SlashNet, а ну да. я типа дурак? вот когда дойдет до такого вопроса. тогда уж и.........
Photo EFFECT 7.3 - уже с сайтом
Сообщений 31 страница 60 из 87
Поделиться3222.06.2007 15:05:09
ну вопрос не обязательно будет именно так звучать... )
только вот зачем связываться с заведомо мошенниками?
Поделиться3322.06.2007 15:23:56
Люблю
Поделиться3422.06.2007 15:25:40
извращенец!
Поделиться3522.06.2007 15:26:41
а че не рассказываешь что вебстрим поставил?
Поделиться3622.06.2007 16:28:49
SlashNet, я вообще тихушник
Поделиться3722.06.2007 16:34:56
Я пока ничего про прогу писать не стану... Извиняюсь, но сейчас не до того...
Поделиться3822.06.2007 16:35:00
безлимитка хоть?
Поделиться3922.06.2007 16:47:03
А кто те сказал такое, что у меня ВэбСтрим?..... нету у меня его
Поделиться4022.06.2007 16:52:27
Новость.
Теперь в фотоэффекте можно будет приминять все фильтры на выделенную область. седня может выложу на сайт
Поделиться4122.06.2007 17:06:59
кстати, дрон тоже любил бросаться словами на английском, значения которых не совсем знает, или вовсе вымышленными словами, которые для недалеких умов звучат красиво. и думал, что это круто.
Но-но-но... Dark Water значит "Тёмная Вода". А Codename Dark Water - звучит красиво, пусть смысла и не несёт! Подчеркну: звучит красиво для почти всех.
~ Нормальное отображение значков инструментов в Linux (BMP рулит!)
тоже не очень понятно...
Серёня забабахал иконки инструментов в формат BMP вместо PNG. Теперь в Wine (по крайне мере, в Wine@Etersoft, в "просто Wine" руки ещё не дошли проверить) все круто . Ранее вместо иконок были глюки (в Wine)/серые квадраты (в Wine@Etersoft)
SlashNet странно! Дрон сразу все понял =)
Так что понимайте
За каждую последующую стабильную версию программы мы готовы платить Вам $400.
ИМХО вот это бред. Если уж они покупают исходники, то зачем им это? И как они собираются отличать "следующую стабильную версию"? А если ты один фильтр добавишь, скажешь, что это стабильная версия, тоже 400$. ИМХО БРЕД
Всем удачи . Всегда ваш, Dron2004
Поделиться4222.06.2007 17:15:28
Дрон, ага! Тупо как-то именно это......
Поделиться4322.06.2007 18:39:00
Trash, айпишники 87.103.* - это подсеть вебстрима.
Dron2004, йоу! как дела? жпрс еще не надоел?
Поделиться4422.06.2007 18:46:20
procedure TFMain.AboutClick(Sender: TObject); var PlugAbout: Function: PChar; PlugAuthor: Function: PChar; PlugVersion: Function: PChar; PlugType: Function: PChar; PlugName: Function: PChar; PlugCopyright: Function: PChar; FileName: String; Handle: THandle; begin with (Sender as TMenuItem) do FileName := PlugList.Strings[MenuIndex]; Handle := LoadLibrary(PChar(FileName)); if Handle = 0 then begin ShowErrorWND(PHOTO_ERROR_MODULE_NOT_INIT, ''); end; if Handle <> 0 then begin @PlugName := GetProcAddress(Handle, 'PluginName'); @PlugAbout := GetProcAddress(Handle, 'PluginAbout'); @PlugAuthor := GetProcAddress(Handle, 'PluginAuthor'); @PlugVersion := GetProcAddress(Handle, 'PluginVersion'); @PlugType := GetProcAddress(Handle, 'PluginType'); @PlugCopyright := GetProcAddress(Handle, 'PluginCopyright'); if (PlugAbout <> NIL) AND (PlugAuthor <> NIL) AND (PlugVersion <> NIL) AND (PlugType <> NIL) AND (PlugName <> NIL) Then if (PlugType = 'PFP_FILTER') or (PlugType = 'PFP_UTIL') or (PlugType = 'PFP_IMPORT_GRAPHIC_FORMAT') or (PlugType = 'PFP_EXPORT_GRAPHIC_FORMAT') then begin MessageBox(Application.Handle, PCHar(PlugName + ' Aa?ney ' + PlugVersion + #13#10#13#10 + PlugCopyright + #13#10#13#10 + 'Aaoi?: ' + PlugAuthor + #13#10#13#10 + PlugAbout ), 'I ieaaeia', MB_ICONASTERISK); end; end; FreeLibrary(Handle); end; procedure TFMain.FMTIClick(Sender: TObject); var PlugExec: function(AObject: TObject; FileName: PChar): Boolean; PlugAbout: Function: PChar; PlugAuthor: Function: PChar; PlugVersion: Function: PChar; PlugType: Function: PChar; PlugName: Function: PChar; PlugFilter: Function: PChar; PlugCopyright: Function: PChar; FileName: String; Handle: THandle; od: TOpenDialog; begin with (Sender as TMenuItem) do FileName := GraphIList.Strings[HelpContext - 1]; Handle := LoadLibrary(PChar(FileName)); if Handle = 0 then begin ShowErrorWND(PHOTO_ERROR_MODULE_NOT_INIT, ''); end; if Handle <> 0 then begin @PlugName := GetProcAddress(Handle, 'PluginName'); @PlugAbout := GetProcAddress(Handle, 'PluginAbout'); @PlugAuthor := GetProcAddress(Handle, 'PluginAuthor'); @PlugVersion := GetProcAddress(Handle, 'PluginVersion'); @PlugType := GetProcAddress(Handle, 'PluginType'); @PlugCopyright := GetProcAddress(Handle, 'PluginCopyright'); @PlugExec := GetProcAddress(Handle, 'PluginExec'); @PlugFilter := GetProcAddress(Handle, 'PluginFilter'); if (@PlugAbout <> nil) and (@PlugAuthor <> nil) and (@PlugVersion <> nil) and (@PlugType <> NIL) and (@PlugName <> nil) and (@PlugFilter <> nil) and (@PlugCopyright <> nil) Then if PlugType = 'PFP_IMPORT_GRAPHIC_FORMAT' then begin LastFMT := TMenuItem(Sender).HelpContext; od := TOpenDialog.Create(nil); od.Filter := PlugFilter; od.Title := 'Eiii?o'; od.OptionsEx := [ofExNoPlacesBar]; Temp := TBitmap.Create; with Temp do begin PixelFormat := pf24Bit; Canvas.Brush.Color := BackColor; Canvas.FillRect(Rect(0, 0, $FF, $FF)); end; if od.Execute Then begin try If PlugExec(Temp, PChar(od.FileName)) = True Then begin Win.FWin := Win.TFWin.CreatePlugForm(True, od.FileName, '', 0, 0, Temp, LeftStr(ExtractFileName(od.FileName), Length(ExtractFileName(od.FileName)) - Length(ExtractFileExt(od.FileName))), ExtractFileExt(od.FileName), FColorMixer.Label2.Color); AddInHistory('Eiii?o...'); end; except end; end; Temp.Free; od.Free; end; if PlugType <> 'PFP_IMPORT_GRAPHIC_FORMAT' then begin ShowErrorWND(PHOTO_ERROR_BAD_MODULE_TYPE, ''); end; end; FreeLibrary(Handle); end; procedure TFMain.FMTEClick(Sender: TObject); var PlugExec: function(AObject: TObject; FileName: PChar): Boolean; PlugAbout: function: PChar; PlugAuthor: function: PChar; PlugVersion: function: PChar; PlugType: function: PChar; PlugName: function: PChar; PlugFilter: function: PChar; PlugCopyright: function: PChar; FileName: String; Handle: THandle; sd: TSaveDialog; begin with (Sender as TMenuItem) do FileName := GraphEList.Strings[HelpContext - 1]; Handle := LoadLibrary(PChar(FileName)); if Handle = 0 then begin ShowErrorWND(PHOTO_ERROR_MODULE_NOT_INIT, ''); end; if Handle <> 0 then begin @PlugName := GetProcAddress(Handle, 'PluginName'); @PlugAbout := GetProcAddress(Handle, 'PluginAbout'); @PlugAuthor := GetProcAddress(Handle, 'PluginAuthor'); @PlugVersion := GetProcAddress(Handle, 'PluginVersion'); @PlugType := GetProcAddress(Handle, 'PluginType'); @PlugCopyright := GetProcAddress(Handle, 'PluginCopyright'); @PlugExec := GetProcAddress(Handle, 'PluginExec'); @PlugFilter := GetProcAddress(Handle, 'PluginFilter'); if (@PlugAbout <> NIL) AND (@PlugAuthor <> NIL) AND (@PlugVersion <> NIL) AND (@PlugType <> NIL) AND (@PlugName <> NIL) AND (@PlugFilter <> NIL) AND (@PlugCopyright <> NIL) Then if PlugType = 'PFP_EXPORT_GRAPHIC_FORMAT' then begin LastFMT := TMenuItem(Sender).HelpContext; sd := TSaveDialog.Create(nil); sd.Filter := PlugFilter; sd.Title := 'Yenii?o'; sd.OptionsEx := [ofExNoPlacesBar]; if sd.Execute Then begin try PlugExec(FWin.Image1.Picture.Bitmap, PChar(sd.FileName)); except end; end; sd.Free; end; if PlugType <> 'PFP_EXPORT_GRAPHIC_FORMAT' then begin ShowErrorWND(PHOTO_ERROR_BAD_MODULE_TYPE, ''); end; end; FreeLibrary(Handle); end; procedure TFMain.MDLClick(Sender: TObject); var PlugExec: procedure; PlugAbout: function: PChar; PlugAuthor: function: PChar; PlugVersion: function: PChar; PlugType: function: PChar; PlugName: function: PChar; PlugCopyright: function: PChar; FileName: String; Handle: THandle; begin with (Sender as TMenuItem) do FileName := UtilList.Strings[HelpContext - 1]; Handle := LoadLibrary(PChar(FileName)); if Handle = 0 then begin ShowErrorWND(PHOTO_ERROR_MODULE_NOT_INIT, ''); end; if Handle <> 0 then begin @PlugName := GetProcAddress(Handle, 'PluginName'); @PlugAbout := GetProcAddress(Handle, 'PluginAbout'); @PlugAuthor := GetProcAddress(Handle, 'PluginAuthor'); @PlugVersion := GetProcAddress(Handle, 'PluginVersion'); @PlugType := GetProcAddress(Handle, 'PluginType'); @PlugCopyright := GetProcAddress(Handle, 'PluginCopyright'); @PlugExec := GetProcAddress(Handle, 'PluginExec'); if (@PlugAbout <> NIL) AND (@PlugAuthor <> NIL) AND (@PlugVersion <> NIL) AND (@PlugType <> NIL) AND (@PlugName <> NIL) Then if PlugType = 'PFP_UTIL' then begin LastMDL := TMenuItem(Sender).HelpContext; PlugExec; end; if PlugType <> 'PFP_UTIL' then begin ShowErrorWND(PHOTO_ERROR_BAD_MODULE_TYPE, ''); end; end; FreeLibrary(Handle); end;
если не понял, можешь меня ненавидеть
никогда и никому не давай свой код если он закрыт
а.. забыл сказать всем привет! гы ))
Отредактировано just.young.man (22.06.2007 18:50:56)
Поделиться4522.06.2007 20:34:36
))))))))))))))))))) это ж мой код!))))))))))))))
Поделиться4622.06.2007 20:35:15
SlashNet, я через ГТС сижу
Поделиться4722.06.2007 20:41:25
да. но не по модему, а через адсл
Поделиться4822.06.2007 20:59:16
))))))))))))))))))) это ж мой код!))))))))))))))
ога. а jay-soft это моя компания мусора много. зачем в операторах if с одной строкой begin и end?
Поделиться4922.06.2007 22:35:30
just.young.man, у каждого есть свои предпочтении в написании качественного кода
Поделиться5022.06.2007 23:50:42
...качественного кода
качественный код, это когда нет мусора. а лишние beginы и endы только замедляют обработку инструкций конечно, при десятках лишних строк это не заметно, но при сотнях и более это влияет на работу программы, тем более графической. мне все равно как тебе нравится писать (тем более что я сам больше не пишу на object pascal), это просто совет, но преподаватель c++ из омгу (slash знает =) не приняла бы такой код вцелом, программа неплохая, но уступает mspaintу в том, что во время рисования фигуры при пересечении с другими фигурами ее контур в месте соприкосновения принимает инверсный цвет уже нарисованной, это неудобно. еще думаю, что лучше для толщины кисти или контура каждой фигуры завести по отдельной переменной. и хотелось бы увидеть вращение на заданный угол, а не только на 90 и 180. пока все, надеюсь сказанное примешь к сведению
Поделиться5122.06.2007 23:55:02
Не суть важно.... спасиб за идеи!
Поделиться5223.06.2007 00:20:36
а еще. сделай чтобы при двойном щелчке на образце цвета открывался диалог с расширенным выбором (по типу фотошопа), где можно ввести значения rgb, hsv, hls и тд, потому что двигать скроллы не всегда удобно. желательно также добавить линейки сверху и слева. а еще вот такой баг - нарисовал я скругленные прямоугольники, выделил, затем выделил другую область, бОльшую по размерам, и вставил туда выделенные до этого прямоугольники, но после вставки область, которая превосходила по размерам ту, что я скопировал, осталась. скрин прилагается ))
Поделиться5323.06.2007 00:32:40
just.young.man, спасибо!!! диалог выбора цвета сделаю. а тот глюк со вставкой я седня заметил =))) И правда гон... исправлю!
Поделиться5423.06.2007 00:56:37
когда выделяешь область, копируешь ее, а потом закрываешь файл лучше спрашивать, оставить скопированное в буфере или нет, а то потом при создании нового файла ширина и высота нового файла совпадают с размерами скопированной области, но при этом формат документа остается 800х600 (или другой), а не "указанный". и если пользователь пожелал оставить скопированное, лучше формат указывать как "буфер обмена" или чтото в этом роде
да и еще. плагин light imposition наверно лучше перевести не "легкое наложение" а "подсвечивание" или "наложение света"
а еще интересно. есть ли в программе какие-нибудь секреты?? ))
Отредактировано just.young.man (23.06.2007 01:04:45)
Поделиться5523.06.2007 01:06:14
just.young.man, ну ты просто седня пишешь и пишешь!) Спасибо большое тебе.
Насчет диалога того, о сохранении имаги в буфере - это классно!
Насчет того, что формат документа остается - спасиб!!!!!!!! Не заметил)
Секреты будут) а тебе какие нужны?)
Насчет плагина - ок)))))
Отредактировано Trash (23.06.2007 01:08:00)
Поделиться5623.06.2007 01:10:10
да никакие не нужны, просто интересно =)
еще. почему когда в менеджере модулей отключаешь плагин, то из помощи не убирается соответствующий ему пункт и поэтому при нажатии на него появляется ошибка инициализации модуля??
Поделиться5723.06.2007 01:11:41
... .... !!!
Поделиться5823.06.2007 01:15:37
вот такого я не ожидал... после рисования в файле его почему-то успешно удается закрыть и при этом не появляется никаких предложений сохранить его. а еще я не понял что такое сброс положения окон и почему этот пункт активен даже тогда, когда открытых окон нет..
Поделиться5923.06.2007 01:18:45
Да, там пока глюки при закрытии... так что сообщения временно нету)
А сброс положения окон - сбрасывает положение окна инструментов, микшера и истории
Поделиться6023.06.2007 01:51:37
просле создания файла fuck.pfp с содержимым "1" в папке plug-ins и запуска приложения вылетела ошибка "приложение или библиотека D:\...\fuck.pfp не является образом программы для windows nt. проверьте назначение установочного диска". может стоить заменить на свой диалог типа "неправильный формат плагина" и в этом диалоге еще сделать чекбокс с надписью "больше не показывать"?
зум в меню выделения тоже почему-то не работает..
еще косяки с чтением форматов. создаю файл 1.* с содержанием "1" для каждого из форматов:
1.jpg - ошибка jpeg error #53
1.gif - открыл!! файл размером 1х1 пикс.
1.bmp - ошибка stream read error
1.pfd - ошибка дословно: "%1 уже существует"
1.png - ошибка the file being readed is not valid "portable network graphic" image... вобщем дефолтовый мессадж стороннего юнита/компонента
1.tga - "ошибка при загрузке targa изображения", причем потом открывается файл 1х1 пикс. и курсор меняется на песочные часики, но работает
1.pcx - тоже стандартный мессадж стороннего юнита/компонента
1.fpx - failed to open the fpx file root storage. при повторной попытке открытия бесконечная ошибка access violation
1.mac - сначала ошибка "numread is 3", потом "file not large enough to be macpaint file". проверяют по размеру )))
1.wmf, 1.emf - ошибка metafile is not valid
сделай одинаковые мессаджи об ошибках, чтобы программа выглядела единым целым
хорошо бы было при установке или первом запуске программы регистрировать форматы .pfd и .pfp в системе с собственными иконками
мне кажется, что в диалоге создания нового файла кнопки создать и отмена лучше поменять местами в стандартное положение, а то я несколько раз по привычке не туда тыкал. не очень приятно каждый раз закрывать новое окно
Отредактировано just.young.man (23.06.2007 02:21:22)